融合待定数组(SdC)
Sue de Coq
最后更新于
Sue de Coq
最后更新于
在前一节的内容里我们学习了欠一数组的内容。今天我们继续来讲数组的拓展。
如图所示。请着重关注 b6
和 c8
里的单元格。
可以看到的是,r46c8
是这两个区域的交集上的单元格,并且,绿色全部涂的是 7、8、9 三种数,而橙色全部涂的是 3 和 5 两种数。仅用这两种配色,我们可以将 r4c78
、r5c9
和 r68c8
这五个单元格的所有候选数都涂上色。
涂色的作用是方便区分数字。显然,7、8、9 在这五个单元格里只出现在 b6
之中,而 3 和 5 只出现在位于 c8
的单元格之中。这意味着,数字在这五个单元格里怎么排列填数的时候,数字都不会出现两次。
数一下单元格数量,一共有 5 个单元格;而数数出现的数字种类数,也恰好是 5 种不同的数字:3、5、7、8、9。“不同的数字”这一点很重要。数字在这五个单元格里摆放既然不可能填入重复项,还需要保证数字填满全部的五个单元格,那就说明了一点:每一个数都会在这五个单元格里出现恰好一次。
得到这一点后我们就会发现它会很有用。比如说,在 b6
里,7、8、9 必须在 r4c78
、r5c9
和 r6c8
的其中三个单元格里填入各一个,所以 b6
的其余单元格都不可能填 7、8、9,所以对于 b6
而言,其他单元格的候选数 7、8、9 都可以删除;而对于 c8
而言,由于数字 3、5 必须在 r468c8
的其中两个单元格填入各一个,所以 c8
的其余单元格也都没有机会填入 3 或 5,于是其他位置的候选数 3 和 5 均可删除。
因此,这个题的结论是 r46c9 <> 89, r6c7 <> 9, r5c7 <> 79, r5c8 <> 78, r7c8 <> 35
。
我们把这个技巧称为融合待定数组(Sue de Coq,简称 SdC)。这个技巧名称比较特殊,它并不是直接从英文名翻译来的。它的英文名 Sue de Coq 也不是纯正的英语,而是一位叫这个网名的网友发帖,解释了这个技巧的推理逻辑。后来为了纪念他对数独圈子的技巧研究的贡献,就直接用了网名作为这个技巧的名称。
下面我们来看看另外一个例子。这是之前欠一四数组的例子,不过我们这次使用这个技巧来解决它。
如图所示。这个例子就自己推理了。推理方式和前面完全一样,只是位置稍微改了一下而已。
别急。这种结构还挺有趣的。我们来看一下,这个结构的极端例子。
如图所示。这个例子也是标准版的,不过用的单元格会特别多。实际上它是最大的情况。因为数字需要不跨区不重复地出现,所以很容易就想得到,这种结构最大的规格肯定是 9 个单元格,把从 1 到 9 全部数字都用一遍。
如图所示。这次我们发现配色多用了一种颜色:蓝色的数字 4。
和前面的推理几乎一致的是,这个结构一共使用了六个单元格,其中绿色的数字是 2、7,橙色数字是 3、5、6,蓝色数字是 4,三种配色一共是六种不同的数字。也和前面一样的是,只需要用这三种配色,就可以完全把所有六个单元格的候选数都涂上颜色,没有遗漏。
显然,数字数量和单元格数量完全一样,而且每一个数字都有它自己的归属。和前文完全一样的是,橙色数字 3、5、6 只会出现在这六个单元格里位于 c9
的单元格之中;而 2 和 7 只会出现在 b9
的单元格之中,4 则比较特殊,它只出现在同时位于 b9
和 c9
的单元格里。
既然有了数字数量和单元格数量完全一样的规则,而且数字又不会“跨区域”出现,那么自然每一个数字都会在其中出现恰好一次。所以,我们能保证的是,c9
里的单元格 r1279c9
的其中三个单元格必须安排 3、5、6 各一个,b9
里的单元格 r789c9
和 r9c7
的其中三个单元格会安排 2 和 7 出现各一个,并且在 r89c9
的其中一个单元格安排填一个 4,这样恰好就填完了所有六个单元格。
所以,这个题的结论就是,r3c9 <> 345, r7c8 <> 2, r9c8 <> 24
。需要注意的是,因为 4 必须在 r89c9
里填一个,所以它好比类似于之前学到的唯一矩形类型 2 一般,由于区块成立,所以按区块的方式同时删掉两个区域下的这个数字,因此这个题里才会既有 r4c9 <> 4
又有 r9c8 <> 4
。
这是融合待定数组这个技巧里比较特殊的一种,它的推理并不会有变化,但主要的不同点体现在这个 4 最终形成了区块。我们把这个 4 称为融合待定数组的孤立数字(Isolated Digit)。
下面我们再来看一个例子。
如图所示。这个例子也希望你自己推理。
如图所示。这个例子会稍微改动一下前面融合待定数组的推理过程。
这个例子里,橙色的数字是 2、5、8、9 四种数字,而绿色是 1、6、7、8 四种数字。可以发现的是,数字 8 同时在 c4
和 b8
里出现,其他数字则和之前的一样,没有重复的。
倘若我们强行按之前的逻辑来理解它的话,我们会发现一个神奇的现象。数一下这个结构用到的单元格数量:r123789c4
和 r9c56
,一共有 8 个单元格。数字 8 在两个区域里重复了一次,所以实际上就 7 种不同的数字,但是却有 8 个单元格。这说不过去了。显然,7 种不同的数字要填到 8 个不同的单元格之中,势必会有至少一个数字会出现两次及以上的。
显然,这个数字 8 重复的情况,反而是这个例子里最合适的存在。因为所有其他的数字都不可能出现重复填入,而就这个 8 刚好可以重复填。现在我们要重复填了,那这个 8 就可以发挥它重复填的功劳。所以,这个例子里,8 必须填两次。
那么,在和之前融合待定数组的逻辑对比起来,这个例子需要满足的地方有两点:
所有除了数字 8 外的数都必须恰好填入到这 8 个单元格里各一个;
数字 8 在这 8 个单元格里填必须两个。
那既然要让 8 填两次,那么肯定就不能让它填在 r789c4
之中。因为这里是 c4
和 b8
交叉的位置上。它填进去一次就相当于填一个就满足两个区域填了这个数的需求,但这显然不符合我们的要求。所以,反倒是不在这三个单元格上的位置需要填两次。我们把 r123c4
算一组,r9c56
算另一组,那么这两组各需要让出一个位置填 8,这样就可以填两次 8 了。
所以, 这个题的结论是 r5c4 <> 59, r7c5 <> 78, r78c6 <> 8, r789c4 <> 8
。
下面我们再来看一个例子。
如图所示。这个例子就自己推理了。
至此,我们就介绍完了全部的融合待定数组的内容。