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

技巧16
外鳍鱼

鱼在数独中是一种很神奇的技巧,但是它并不会频繁出现,有时还会多出来一点点,这就产生了两种变异类型。

在盘面28中,我们发现有一个二链列,不过很怪异。

盘面28

通过观察,我们很容易地发现,这个二链列的定义域是列6和列7,删除域是行B和行D。可是不巧的是,这个关于数字7的二链列多出了一个单元格,位于A6。于是尝试消除掉它。如果A6=7不存在的话,那么列6和列7就只有B6、B7、D6和D7这4个单元格填入7了,很明显,这样肯定是构成二链列的,那么根据二链列的逻辑推理,删除域应为行B和行D;而如果A6=7是存在的,那么这个7就会导致行A、列6和宫2内的其余单元格内都不能填入7。

但是列6和列7也就只有这5个单元格可以填,并无其他情况。然而这两种情况必然有一种成立,因此若删除掉这两种情况中都能够删除掉的位置,可以发现,这两种情况都能删的位置只有B4和B5,而B5已经有数字了,所以只能是B4。因此B4<>7。

这种“差一点”的鱼被称为“外鳍鱼”,其中那个多出来的单元格被称为“外鳍”,而我们一般都简称为“鳍”。这个技巧本体是鱼结构,多出来的就理所当然地被称为“鳍”了。而定义域仍旧是指原定义鱼位置的区域,但删除域则会发生变化:因为现在多了一个鳍,所以只能删除掉数个单元格,而不是整个单元(行、列)了。这一点需要特别注意。

那么,鳍在哪里才能够算作外鳍鱼呢?鳍必须位于鱼的定义域内,且必须位于鱼某个顶点处的同一个宫内。因为,我们对标准二链列的推理方式就是选中定义域的其中一个,然后分情况进行讨论,最终能够得到相同的结论,因此得到删除域,从而删掉删除域内的单元格的数字。这里多了一个鳍,那么就假设鳍成立和鳍不成立,也就是分成了两种情况。那么,鳍是否只能是一个呢?当然不是,如下面这个例子,就是两个鳍。

盘面29就是由两个鳍构成的二链列。要么二链列成立,要么旁边的两个鳍成立,虽然很明显,两个鳍不能同时成立,但是目前看来,至少会有一种情况成立。无论是它们之间的哪一个成立,都会导致宫4和行F内的其余单元格都不能填入9了。由于此时,行F已经没有可以删除9的位置了,因此只能去看宫4内的位置。无论是二链列成立还是鳍成立,必然都会使得既在宫4、又在列1内的D1和E1删除掉9。因此,D1、E1<>9。但如果要使这样的推理成立,多个鳍必须位于同一宫内,否则它就不是外鳍鱼了。当然,三链列也同样存在外鳍鱼。

盘面29

如盘面30所示。同理,分为两种情况,要么是这个残缺的三链列成立,要么是鳍成立。因此删除掉都能删除的部分,即C4=7。

盘面30

盘面31所示的为外鳍四链列。也分为两种情况,要么是残缺的四链列成立,要么是这个鳍成立。因此删除掉都能删掉的部分,即C1=2和C3=2。

盘面31

以上就是外鳍鱼的所有情况了,那么,它还能简化吗?请看下一节。 whWS1WnzCEbGP9cdMa75CcuYaFzvOQRr/OjX0vhRECeLmMmuTQOaay9DmcAzkbxM

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