如果你经常解一些难度较大的数独题目,你可能经常用到非完全约束集合删除法(Almost Locked Set,简称ALS)。如果你再掌握Sue de Coq删除法,或许会更加拓宽解题思路,一次性删除大量毫无作用的候选数,达到快速解题的目的。
由于论坛上没有Sue de Coq删除法的介绍,也不知道这串字符的中文翻译(或者称为互不关联子集删除法),只能通过自己的实践和理解向大家介绍一下,不对之处敬请批评指正。
条件:
1、 存在两组数组A和B,A数组中M个不同类候选数存在于M+1个格位中,B数组中N个不同类候选数存在于N+1个格位中,且A和B数组中的候选数类别不重复。
2、 A数组中候选数所在格位在一行或一列或一宫格中。B数组也一样。
3、 A和B数组中的某些候选数同时存在于同一个(或同几个)格位中。也就是说A和B数组中的候选数有交合情况
4、 A和B数组的候选数所在格位中没有多余的不归属于A和B数组的候选数。
满足以上全部条件,删除:
1、 若A数组中的候选数在行、列、宫格中则对应删除行、列、宫格中的同样其他候选数
2、 若B数组中的候选数在行、列、宫格中则对应删除行、列、宫格中的同样其他候选数
有点绕口。看看实例吧:
例一:
(附件1)
上图中第2列B2 D2 E2组成{28、28、28}绿色数组(A数组);第4宫格D2 E2 F3组成{5、3、53}紫色数组(B数组)。删除黄色候选数。
例二:
(附件2)
上图中第5行E2 E7 E8组成{86、86、8}绿色数组(A数组);第6宫格D9 E7 E8 93组成{137、13、137、17}紫色数组(B数组)。删除黄色候选数。