软件工程基础——个人项目——数独(2)

软件工程基础——个人项目——数独(2)

生成终局理论算法

一:第一行的确定

第一个数字为(9+6)% 9 + 1 = 7;
其余八个数字为1~6,8,9的随机排序,共8!种

二:终局的确定

1:从网上查阅资料得知,如果从第二行开始,每行为第一行左移3、6、1、4、 7、2、5、8的结果,则生成的结果为合格的数独终局
2:随意交换数独的1、2、3行,4、5、6行,7、8、9行,或者交换1、2、3列,4、5、6列,7、8、9列并不会影响数独的合格性。但在交换行的基础上交换列可能产生与已生成结果相同的情况,过列与行的交换不能同时采用。此外若不固定第一行或第一列仍可能出现相同的结果,故采用行交换时应固定第一行不动。

数独的理论解法

计算机解数独的方法我所能掌握并实现的只有深度搜索。但数独的深度遍历运算量必定很大,在具体实现时应该考虑剪枝等优化操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值