用程序解九宫格数独

关于给定不完整数独的解有三种情况:

1,数独中的数字有冲突,无解。

2,数独中的数字没有冲突,并且有且只有一个解。

3,数独中的数字没有冲突,有多个解。


以上三种情况是得到不完整数独的解,所面对的情况。


1,1 设想一个不完整的数独有冲突数字。在进行填数字前,就要判断出来。然后报告这个数独有冲突数字。

2,2 设想一个不完整的数数独有唯一数独解,那么每一个格中的数字都是唯一确定的。只是我们不知道是具体数值。那么我们就可以先找出这种唯一确定的数字啦。

3,3设想一个不完整的数独有多个解,那么可以先找出唯一确定的那些数字位置。然后剩下的空方格就有多种情况了。



其中数独有多少种可能呢? 如果是9x9的格式,则有十的八十一次方中可能数独(含有冲突项)。


难度第一简单思路:

所以使用暴力的方式进行一一列举,尝试得到一个不完整数独的解,似乎不太可能。于是,猜想应该排除有冲突的数独。


难度第二简单思路:

这时,思路有了。当尝试向数独中填入一个数字X(随便取的一个变量名)时,要判断X不与已经存在的数字重复(冲突)。

其中以上的数字重复包括,X所在的行不重复,X所在的列不重复,X所在的小九宫格不重复。然后再尝试下一个数字的填入。这种思路可以得到数独的解,仔细像

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值