有会玩解数独算法吗求大神解一下

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

//符合条件查找下一个方格

//数字不为零,直接查找下一个

* 判断要填入的数字和同行同列以及同一九宫格内数字是否重复

// 号稱世界上最难解数独算法

}

本想用dfs回溯法解决解数独算法问題的结果发现好难,现在提供我自己的一种解法后面有时间再用回溯法做一遍。。
#None代表为未确定的数据
#判断解数独算法中是否含囿未确定的数字
 if len(item)==1:#如果可能解只有一个,那么该点就是这个解
 #重复上述操作直到A中没有None

  

}

上篇将简单的解数独算法游戏的解决方案和简单的UI界面都写清楚了 下篇将把超难的解数独算法游戏结题思路捋清楚了

格子排除法和数据排除法并不能解决多少解数独算法问题,解数独算法问题还是要通过猜测某个数据才能解决难度再高一点的解数独算法还需要猜测两个数据才能解
不用想,肯定是猜测某个只有两种可能的数据能够更快的确定这个数据


 
两个参数 一个是解数独算法的数据,另一个参数是一个数组标识猜测的级别以及猜測只有几种可能的数据
举个例子[2,3]就标识先猜测只有两种可能的数据,check_way校验后再猜测只有三种可能的数据
暂时先放着,先来将最简单的[2],只猜测一个数据
这里有用到一个copy.deepcopy的函数深度拷贝,这样可以不破坏原有数据的情况下实现我们的猜测
1.循环遍历81个数据筛选出只有两个数據的所有数据,
2.循环遍历这些数据各个进行猜想,通过check_way校验是否成功还是失败
这样的方式基本可以解决中级的解数独算法游戏了
那怎麼样解决高难度的解数独算法呢?怎么样解决超高难度的解数独算法呢答案就是在猜测的基础上再猜测,猜测两个数据的集合不行就猜測三个数据的集合以此类推


 
衍生出了一个深度校验 一个深度校验2.0 --------------- 都是只猜测一个数据
最后来一个超级校验解决所有的解数独算法问题

 
config里羅列了12种猜想逐一进行验证
至此所有的校验猜想都完成了,我们再内置几个解数独算法在里面供娱乐

 

完工
具体代码和成品在 欢迎下载交鋶学习
拜拜
}

我要回帖

更多关于 解数独算法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信