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

数独介绍:

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

数独认识、规则及玩法技巧(python实现自动数独算法之二)
玩法:每行、每列、每宫内都是1-9的数字,不可以重复。

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

  2. 唯余解法:(比较简单)空白格所在行、列、宫内所有不重复数字有8个,空白外即为缺的数字。如下图:
    数独认识、规则及玩法技巧(python实现自动数独算法之二)

  3. 宫内排除法(常用):利用的是每行、列、宫必有全部数字又不可以重复的规则,可确定某一宫内剩余的唯一数字。如下图。
    数独认识、规则及玩法技巧(python实现自动数独算法之二)

  4. 行列排除法(常用),此方法与上面的方法类似,如下图:
    数独认识、规则及玩法技巧(python实现自动数独算法之二)

  5. 区块排除法,与上面的方法类似。如下图:
    数独认识、规则及玩法技巧(python实现自动数独算法之二)说明:2宫的7决定5宫4列不会有7,而5宫f列必然有7,则6宫f列不会有7,而g7的7决定了7列不会有7,则6宫只有一个位置要填7。

  6. 数对占位法:如下图
    数独认识、规则及玩法技巧(python实现自动数独算法之二)
    解释:假设f9已确定只可填2或7,7列8列已已经有9,则e9只可填9。

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

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