github编辑

致命结构的秩

Rank of Deadly Pattern

在致命结构理论里,致命结构的满足条件是通过穷举(咱先不管人脑能不能穷举出来吧,至少电脑可以),然后可以算出所有情况均造成致命的效果,然后得到的。显然,这个思维跟秩理论的讨论有一定的相似性,所以按道理来说,它是可以在秩理论里使用的。

之所以没有在秩理论讲这个,一来是整个教程对于这两个技巧而言,在讲解上的顺序编排的问题;二来是因为,它需要考虑一个本质的问题是,它必须有一定的对致命结构的底层原理的认知才能解释。

致命结构在秩理论里的讨论方式

使用了唯一矩形的链

如图所示。这个是一个使用了唯一矩形的链,并得到删数是 r1c2 <> 1r3c4 <> 1

秩理论里有所谓递归分析的概念,这意味着我们在讨论其情况的时候,多数时候会对这个结构进行一轮包装(比如诠释为普通的链的处理逻辑,或者是动态链分支的逻辑,并按这种技巧理论进行删数,避免穷举);但也有时候结构足够麻烦,以至于我们无法用技巧简单包装起来,于是不得不进行穷举或者是递归分析。

我们且不说它的复杂度高低的问题,这并不重要。我们这里主要想说的是,对于分析致命结构的时候,秩理论里甚至几乎不考虑对致命结构的考虑。比如下面展示了一个填法:

其中一种填法

因为 XSudo 软件在标黑了致命结构的这些候选数后,无法正常显示穷举的组合,因此这里换了个显示模式。

红色框起来的是唯一矩形这部分;部分数字边上有个小的红色的撇号记号 ',这个暗示的是唯一矩形的两个点位可以唯一确定这个唯一矩形结构在哪里,不影响技巧推演过程。

可以看到,这种情况下,r1c2 = 2r3c4 = 9 可以确保删数成立(当然,这个删数要想成立,显然是需要其他所有情况也都能删的才行,只是这里只演示了一个填法状态罢了)。那么,只需要找出这个结构里的所有填数方案,取个交集就行了。

要注意的是,致命结构要多一层考虑,就是安排填数位置的时候,因为致命结构本身要求不允许往这些涉及的单元格里填的全都是致命结构用的数字(最上面图里黑色的那些),所以在找填法的时候要明确记得规避一下。不过话说回来了,也正是因为唯一解的题不可能有能让致命结构填充成立的状态,所以也不必担心这一点对我们的思考有任何禁锢和约束,仅仅是方便我们找删数的时候更快捕捉到合适的结果。就像是你把每个填法下延伸出来的填法当成一棵树的根在无限延展,而致命结构填法的规避,其实等效于你在对这棵树的根茎进行“剪枝”而已。

再来一个例子

再比如下面这个示意图里给的删数,它的秩理论结构的画法是这样的:

另外一个例子,示意图

想必我不用多重复什么吧。

最后更新于