数独认识、规则及玩法技巧(python实现自动数独算法之二)

数独介绍:

9宫格数独分为行、列、宫(如下图):

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200918084433629.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2tpbTU2NTk=,size_16,color_FFFFFF,t_70#pic_center
玩法:每行、每列、每宫内都是1-9的数字,不可以重复。

玩法技巧:
  1. 最简单:每行每列每宫都不可以有重复的数字,如果每行、列、宫有8个数字,第9个数字自然就是缺的数字。

  2. 唯余解法:(比较简单)空白格所在行、列、宫内所有不重复数字有8个,空白外即为缺的数字。如下图:
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200918085545504.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2tpbTU2NTk=,size_16,color_FFFFFF,t_70#pic_cent

  3. 宫内排除法(常用):利用的是每行、列、宫必有全部数字又不可以重复的规则,可确定某一宫内剩余的唯一数字。如下图。
    在这里插入图片描述

  4. 行列排除法(常用),此方法与上面的方法类似,如下图:
    在这里插入图片描述

  5. 区块排除法,与上面的方法类似。如下图:
    在这里插入图片描述说明:2宫的7决定5宫4列不会有7,而5宫f列必然有7,则6宫f列不会有7,而g7的7决定了7列不会有7,则6宫只有一个位置要填7。

  6. 数对占位法:如下图
    在这里插入图片描述
    解释:假设f9已确定只可填2或7,7列8列已已经有9,则e9只可填9。

其实还有一些方法,比较难,技巧性不够,基本有如上方法,玩一些比较验证的数独是可以应付的。

对于我来讲要用python编程解决数独问题,有几个方法还真不知道怎么写。

猜你喜欢

转载自blog.csdn.net/kim5659/article/details/108657914