BIT1120161907的数独作业

首先粘贴我的GitHub网址:https://github.com/bit1120161907/shuduku09

    先说下我的心路历程,这是我第一次接触这样的作业,需要用到GitHub这样的平台,还要用到命令行,用不同于网教的方式去验收,而且还要独立完成。我认为这对于我来说是一个挑战,而有难度的地方不在于生成数独或者解数独,而在于上述这些第一次接触的事物。

    在讲代码之前说下,我传到GitHub上的是vs的整个项目,内涵源代码,就不粘贴源码了。

    先讲下生成数独,我采用的是网上大多数人采用的替换法,大概就是第一行除了要求的第一个数不变外,剩余八个数用其他数字替换形成新的数独,这里就是8!种大概4w种,再将456行、789行随机交换位置,这里就是3!*3!种,两次相乘就已经有140w种了。生成全排列我是用的库函数,再加上参考沈帝的方法,代码写的非常简洁,而且效果不错。

    接下来是解数独,解数独我用的是dfs,有想过用其他方法,但是想来想去还是暴力最直接,而且时间也不算多。只过我还是优化了一下,先把能填入的数字找出来存上,就不用每次判断都要遍历。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值