三链列比起二链列的情况会多一些,因为它需要更多的假设和推理。例如盘面23:
盘面23
此时我们观察到,在行C、行F和行H中都有且仅有列标为5、6、7的单元格可以填4,所以,4在这3行里被控制在那9个单元格内。这时候需要假设一下:
情况1:如果C5=4,则F5、H5、C6、C7<>4,解不出,再继续假设:
A.如果F6=4,则F7、H6<>4,则H7=4;
B.如果F7=4,则F6、H7<>4,则H6=4。
情况2:如果C6=4,则C5、C7、F6、H6<>4,解不出,再继续假设:
A.如果F5=4,则F7、H5<>4,则H7=4;
B.如果F7=4,则F5、H7<>4,则H5=4。
情况3:如果C7=4,则C5、C6、F7、H7<>4,解不出,再继续假设:(www.xing528.com)
A.如果F5=4,则F6、H5<>4,则H6=4;
B.如果F6=4,则F5、H6<>4,则H5=4。
此时,可以发现,假设情况均列出了。由于第一次假设并不能完成推理,因此中途又进行了第二次假设,才完成了整个推理过程。对比这6种假设情况的开头以及结尾,可列出下表:
可以发现,无论是哪种情况的假设,结果始终都会使得列5、列6和列7上至少都有一个4。也因此,列5、列6、列7的其他位置上,候选数4将可以被安全地删掉,亦即盘面上的A5、A6、B5、B7、D5、D7、G5内的候选数4均被删除。这就是三链列或剑鱼。注意,此题的三链列的定义域为行C、行F、行H,删除域为列5、列6和列7。
但是,盘面中有一个奇怪的地方。盘面中有一个宫排除法,是H5=8,由B6=8、G1=8和I8=8在宫8内进行排除得到的。在单元格H5中填入了数字8之后,就会发现可以使用一大堆排除法,还有两个唯一余数法,于是就一口气做到了这里:
盘面24
如盘面24所示,原来的三链列残缺成了这样(缺了一个“角”),那么它是否还是可用的呢?答案是可以的,这并不影响三链列的用法。假设的情况会比刚才的要少,但是仍能推理,并且把所有的假设集合在一起,同样可以使得列5、列6、列7都至少有一个4出现。
此处将不再列举其假设。这种情况被称为“鱼的残缺”。我们可以把它想象成一个“二维”的数组,填数情况已经列举到这3行3列之中,相当于一个三数组涉及的3个单元格内的填数情况,第1个单元格是{123},第2个单元格是{123},而第3个单元格则是{12}。数组的要求就是需要满足每一个单元格不一致,所以每个单元格至少需要2个候选数,就可以构成数组了。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。