之前我们讲到了数对、三数组和四数组的显性和隐性的技巧,但是数独的解答技巧完全不止这些。接下来的技巧一定会让您大开眼界,它比起数组要有趣得多,因为它可以构成一种特殊的形状。
如盘面22所示,当填到这样的状态时,发现数对已经填不下去了。此时,我们可以观察到,在行A中,只有A2和A6可以填入数字6;而在行H中,只有H2和H6可以填入数字6,它们刚好构成一个矩形。可是这有什么用呢?
盘面22
情况1:如果A2填6的话,那么A6和H2将不能填6,那么就只有H6填6了;
情况2:如果A6填6的话,那么A2和H6将不能填6,那么就只有H2填6了。(www.xing528.com)
由此可以看到,情况1的假设是“A2=6”,结论是“H6=6”;而情况2的假设是“A6=6”,结论是“H2=6”。将这两种情况分别放到盘面中看,我们可以发现,无论是左上角(A2)和右下角(H6)填6,还是右上角(A6)和左下角(H2)填6,都会使得列2和列6出现一个6。所以列2和列6的其余位置,即非这个“矩形”的4个顶点外的其余单元格内,都将不会再出现6。因此,有C6,G6,I2,I6<>6。
把每一条假设的开头位置和结尾位置连接起来,会发现它组成了“X”的形状。所以这个解法的英文名由此得来——X-Wing。在英语中,wing是翅膀的意思,因此它有一个独特的名称——四角对角线法则。
有意思的是,这种方法还能够拓展到三阶的情况。这也就是为什么它还有一个名字,叫作二链列了。
在盘面22的二链列中,我们将产生二链列的单元(盘面中的行A和行H)叫作定义域,表示二链列被定义的位置;并将需要排除候选数的单元(盘面中的列2和列6)称为排除域或删除域,表示用于排除或删除该候选数的位置。
图中涉及假设的所有位置叫作鱼身,这在后面的鱼的变型中会经常用到。这样的结构我们称之为鱼或链列。为什么叫鱼呢?因为它的英文名都是使用的一系列鱼的名称。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。