欢迎光临散文网 会员登陆 & 注册

第 25 讲:融合待定数组

2020-09-26 08:37 作者:SunnieShine  | 我要投稿

接下来我们来介绍一种跟欠一数组差不多的技巧,不过这种数组看起来就好像是真的数组。

Part 1 基本思路

如图所示,我们观察到r1c79和r36c7四个单元格,特别特殊。为什么说它们特殊呢?c7上,有一格是{47},b3内,有一格是{38},而在c7b3内,恰好有r13c7两格既有{38}(橙色数字)又有{47}(绿色数字)。那么,我们就从这里比较奇怪的r13c7这两格来思考。

  • 如果说r13c7全都只有橙色数字,那r13c7就会构成3、8数对,于是b3内,r1c9就无法填数了,所以这样是错误的;

  • 如果说r13c7全都只有绿色数字,那r13c7就会构成4、7数对,于是c7内,r6c7就无法填数了,所以这样也是错误的。

所以,r13c7有一格只有橙色数字,而另外一格则只有绿色数字。那这样恰好,在b3内,r1c9和r13c7其中只有橙色数字的一格构成38数对,而在c7内,r6c7和r13c7的其中另一格(只有绿色数字的一格)构成4、7数对。所以,b3内其余单元格的3和8都可以删除;c7内其余单元格的4和7也都可以删除。

是不是很神奇呢?这个结构由于融合了3和8,以及4和7,造成了两个区域的删数。这个结构称为融合待定数组Sue de Coq,简称SDC)。

为什么要叫“待定数组”呢?b3内,3、8数对的位置是待定的;c7的4、7数对的位置也是待定的。而“融合”,就指的是既有{38}又有{47}的r13c7两格。

de的d小写是为什么?de是法语,大致相当于英文的单词of。而这个技巧的名字,来自于一个网友发现了这个技巧,这个网友的网名就叫Sue de Coq,他谦虚地为这个技巧取名Two sectors Disjoint Subset,而为了纪念这个网友作出的杰出贡献,就将这个技巧命名为这个网名Sue de Coq。

最后说明一个东西,我们称{r1c79, r3c7}(38)为一个待定数组Almost Subset,之前说的ALS的全称其实是和这个说法是一个东西),因为这三格内,有四种不同的候选数3、4、7、8,最终的结果就是,这四个不同的候选数的其中三个,将填入到这三个单元格之中,所以是“待定”的;同理,r136c7(47)也是一个待定数组。

那么接下来来看另外一种融合版本,数组规则不一致的。

Part 2 数组不同规格的融合版本

如图所示。这次融合的是r9b9内r9c89两格。根据刚才的分析,如果r9c89都只有橙色数字2、3、8,则b9内的数字2、3、8不够填满r8c7和r9c789这四格,所以是错误的;

如果r9c89都只有绿色数字1和6,则r9内的数字1、6不够填满r9c389三格,所以依然是错误的。所以r9c89一格只有绿色数字,另外一格只有橙色数字。这样一来,b9内,r8c7和r9c789内就一定会产生2、3、8显性三数组;而在r9内,r9c389内就一定会产生1、6显性数对。于是b9内其余单元格都不能填入2、3、8,而r9内其余单元格也都不能填入1、6,所以r7c789 <> 238、r9c45 <> 16。

这个版本稍显吃力一些,但分析方法依然是一样的。

Part 3 “九数组”

我们再来看一则示例,这个示例且先不说如何被找到,你可以试着观察和理解该示例,这是一个涉及1到9所有数字的SDC结构。如图所示。

如图所示,这是一个涉及1到9的全部数字的结构,这个结构已经是SDC里最大的结构了,无法超过它,因为超过它将一定会在结构里出现相同的数字,导致无法判定。

刚才的若干示例,融合的单元格数量都为两个,如果融合的单元格数量恰好变成三个呢?

Part 4 带区块的融合

如图所示。这个结构按照原定的逻辑来思考和分析的话,过于复杂,因为一共要讨论七种不同的情况。显然这是麻烦的。那么我们换一个思路来思考这一点呢?

我们把r89c1和r2789c3这六个单元格内所有出现的候选数进行分类和涂色:我们把1和4涂成绿色,把2、6、7涂成橙色,而9单独涂成紫色。

观察r89c1两格,这两格都只有橙色数字(2、6、7),它还需要一个单元格只有橙色数字2、6、7,填数才能趋于稳定(说白了就是构成2、6、7三数组嘛),多了一格都不行。那结构内如果只有r89c1有2、6、7的话,这样看似可以,但是这同时也意味着r789c3这三个单元格内,没有橙色数字。没有橙色数字的话,r2789c3就只剩下1、4、9三种不同的候选数了,而这三个不同的数字却要填入到r2789c3四个单元格之中去,这样显然是不够的,所以这样是不可以的。所以,少了一格只有橙色数字,也是不可以的。

同理,看绿色数字(1、4),这样分析也是同样的道理:由于r2c3只有绿色数字,那么为了保证结构填数不会出现矛盾,要么不需要其余只有绿色候选数的单元格(0个),要么刚好只需要1个,要么需要2个或者更多。

如果是0个(也就是说不需要其它单元格只有绿色数字)的话,意味着r789c3这三个单元格只有2、6、7、9四种不同的数字。转去看b7,对于r89c1和r789c3这五格而言,显然不可能只填入四种不同的数字就够的。五格恰好同一个宫,至少要填入五种不同的数字,所以四种显然不够,也就矛盾了;

如果是更多个其它单元格只有绿色数字的话,那么肯定不可以。因为超过一个只有绿色数字的话,算上r2c3(14),就有至少三格只有绿色候选数了。绿色候选数只有两种,而要填入到至少三格里面去,这样显然是矛盾的。所以说,也只好恰好需要一个单元格只有绿色候选数,来恰好构成1、4数对。

这样一来,r789c3里有一格被r89c1拿去构成2、6、7三数组了,又有一格被r2c3拿去构成1、4数对了,那还剩下一个单元格呢?紫色数字还没上场呢!所以r789c3最后剩下的那一个单元格就是9了!

所以这样一分析起来,b7内会产生2、6、7三数组,c3内会产生1、4数对,而r789c3内一定有一格是9。所以b7内其余单元格不应该再含有候选数{267}、c3内其余单元格不应该再含有候选数{14},而c3和b7内,其余单元格也都不应该含有候选数9。所以图上的结论就应该为:r46c3 <> 149、r78c2 <> 2679。

Part 5 显隐性的转换

如左图所示,这个结构涉及了1、3、4、5、7、8、9七种数字,按照SDC来看,确实属于SDC的规范版本:1、3、9同宫,4、5、7、8同列,所以七个单元格内的七种数字完全不存在重复的情况,意味着七种数字必然填入到这七个单元格之中,且填数种类不多也不少。于是可以得到,c6其余位置的4、5、7、8以及b5其余位置的1、3、9都可以删除,如图红色的删数。不过,这个结构稍大了一些,我们可以尝试“翻转”逻辑,用数组的隐性思维来思考这一点:

如右图所示,这样就把原本的七个单元格变为了只涉及四个单元格了。观察c6,3和9的位置只存在于r468c6三格之中;而观察b5,4和8的位置只存在于r4c56和r6c6三格之中,另外,b5和c6的交集上,结构涉及的两格里,候选数3、9和4、8都有。

如果r46c6都是紫色候选数,则r46c6可以直接看作3、9隐性数对,b5内4和8的位置不够填;如果r46c6都是蓝绿色候选数,则r46c6可以看作4、8隐性数对,c5内3和9的位置不够填。所以r46c6有一格只有蓝绿色候选数,而另外一格则只有紫色候选数。这样一来,只有蓝绿色的单元格就会和b5之中的r4c5构成4、8隐性数对;而另外一格则会和c6之中的r8c6构成3、9隐性数对。所以这样一样可以产生两个独立的数对。我们能确定的是,隐性数对的删数只能有涉及的四格之中,而因为r46c6最终哪个只有蓝绿色候选数,哪个只有紫色候选数是不确定的,所以删数只能在构成4、8数对和3、9数对的另外一格。于是r4c5 <> 13、r8c6 <> 4578。这样就解决了SDC结构过大导致不好观察的问题。这样的观察角度也称为全隐性的SDC。

另外,因为SDC涉及两个区域,所以最终可能产生四种情况:

  • 显性、显性

  • 显性、隐性

  • 隐性、显性

  • 隐性、隐性

因为SDC是涉及两个区域下的结构,所以完全可以存在显性和隐性同时观察的视角。这种视角就比较别扭了,我们就不展开给大家展示例子了。

Part 6 自噬融合

如图所示,图上所有红色的数字均可以被删除。首先,我们可以看到,结构一共涉及8个单元格,并且在结构里,数字2、5、9只有c4上出现过;而且数字1、6、7也都只在b8里出现过。维度这个结构里有一个“不友好的”数字8:它在c4和b8这两个区域下都出现了,也就是说,它跨区域出现。跨区域出现也就意味着这个数字很有可能在结构里出现两次,而不像其他的数,因为只有一个区域有这个数,那么这个数只可能出现一次。

既然数字8可以出现两次,那么我们就来想想这个8最终的使命究竟是如何的。细数一下,刚才我们得到了一些完全不会影响到结构的只出现在一个区域的数字,一共是6个这样的数:2、5、9和1、6、7。如果一格填一个数,那也才6格。结构一共涉及8格,这说明还有两个单元格要填入不是这些数字的数字。根据刚才的讨论,我们发现,抛开这些数字不看之后,就只剩下数字8了。而且,一共要填满8格,空出两格,那两格都得填8才行。这也就说明了一点,结构里必须有两个8。

不过,如何安放这两个8呢?很简单,只要这两个8它们之间不受影响(比如填到同一行列来违背规则,这就算是受影响了),怎么填都可以。所以,这两个8,一个必须产生在r123c4里,而另外一个8则必须产生于r9c56里。

那结构里不是还有r789c4(8)呢?通过刚才的逻辑,我们就明白了,这个8是显然不可出现到这里的,所以r789c4 <> 8;另外,因为2、5、9出现在c4里,所以必然2、5、9都会有,于是这一列其余的单元格的2、5、9都可以被去掉;类似地,b8里的其余单元格里的1、6、7也都能去掉。不过这个例子告诉了我们,数字8显然是在两端都会成为区块结构的(即指的是r123c4和r9c56里都必须有数字8),所以对应的b28两个宫里,其他单元格的数字8也都可以被删除掉(别忘了r9c56除了能影响b8,还能影响r9哈,所以r9里其他位置的8也还是都能被去掉,比如r9c2(8))。至此,这个示例的所有删数才全部被找到。

这种结构叫做自噬SDCCannibalistic SDC),自噬Cannibalism)实际上是一个指的是结构涉及的候选数因为逻辑也能被去掉的一种特殊情况的术语词汇。

自噬这个词在以后还会用得更多,而这个词本身其实是属于之前提到的鱼这个技巧的范畴(虽然之前的内容没有任何提及到自噬的情况,但千万别否认,因为在后面的较难的板块会提到自噬鱼Cannibalistic Fish)结构,因为它比较难,我就把它丢到后面才去讲了),所以这个术语我们就不在这篇文里展开讲解了,也不会将此术语添加到术语表里。到后面的内容的时候,我们再详细讨论这个术语指示的情况。

Part 7 欠一数组到SDC的转化

欠一数组和SDC是具有非常相似的性质的,你完全可以发现,欠一数组和SDC具有相当多的相似的地方。其实我们确实也能找到一种方式,将欠一数组完全转化为SDC结构;当然,也可以从SDC转回欠一数组。

如图所示,我们可以发现这是一个欠一三数组结构,而我们直接将c6的没涉及的单元格全部都勾出来(此时也算上r23c6),把它们上色,就可以发现,我们已经成功地转换了。

技巧信息

  • 融合待定数组:难度5.0。

  • 融合待定数组(带区块):难度5.1。

  • 自噬融合待定数组:难度5.1。

名词解释

  • 自噬Cannibalism):通过逻辑推理删除自身结构的一部分的行为。


第 25 讲:融合待定数组的评论 (共 条)

分享到微博请遵守国家法律