购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

技巧15
三链列/剑鱼(Constraint Triple/Swordfish)

三链列比起二链列的情况会多一些,因为它需要更多的假设和推理。例如下面的这个盘面:

盘面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,解不出,就继续假设:

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均可被删除。这就是三链列或剑鱼。注意,此题的三链列的定义域为行CFH,删除域为列5、列6和列7。

但是,图中有一个奇怪的地方。图上有一个宫摒除法,是H5=8,由B6(8)、G1(8)和I8(8)在宫8内摒除得到的。填入了这个8之后,就会发现一大堆摒除法,还有两个唯一余数法,于是就一口气做到了这里:

盘面24

如盘面24所示,原来的三链列残缺成了这样(缺了一个“角”),那么它是否还是可用的呢?答案可以的。这并不影响三链列的用法。假设会比刚才的要少,但是仍能推理,并且把所有假设集合在一起,同样可以使得列5、列6、列7都至少有一个4的出现。此处将不列举其假设,这种情况被称为鱼的残缺。您可以想象为,这是一个“二维”的数组,填数情况已经列举到这么3行3列之中,相当于一个三数组涉及的3格内的填数情况,第1格是{123},第2格是{123},而第3格则是{12}。数组的要求就需要满足每一格不一致,所以只需要至少每格2个候选数,就可以构成数组了。 F8GHd8PJvnD0G3SHfN8lMg8ZI6jzH3oP/YFh6fdSZ9zKunlY3XkJEX/VHHmXoeTN

点击中间区域
呼出菜单
上一章
目录
下一章
×