杀手数独中的笼比较(Cage Compare)把两个笼并排放在一起,用它们和值之差把各自的外部格联系起来。单独一个笼说明不了什么;两者之间的关系却能说明很多。
当两个笼跨越同一个区域时,45 法则把它们联成一个等式。每行、每列、每宫的总和都是 45,所以把完全位于某宫内的笼加起来之后,该宫的其余部分就属于这两个跨区笼。把每个笼标出的和值代入这个等式,内部的格就相互抵消。剩下的是伸出去的那些格之间的简单关系,比如“这两个格之和为 10”或“这个格比那个格大一”。
这个关系是对两个格的约束,而这两个格往往不在同一行、列或宫里,盘面本身没有别的办法告诉你这一点。把它与每个格的候选数结合起来,两边的候选数清单都会缩短。
这里的区域是行 J。26 笼(J1 到 J4)完全在其中,其他笼则一次一个格地漏到行外。看行外的格最后如何被联系起来。
这一行的总和是 45,所以 J5 到 J9 之和为 45 - 26 = 19。20 笼覆盖 J6 到 J9 加上位于行外的 H9。14 笼(G5、H5、J5)只在 J5 进入这一行。由于 J6 + J7 + J8 + J9 = 19 - J5,20 笼给出 H9 = 20 - (19 - J5) = J5 + 1。
H9 和 J5 不在同一行、列或宫,只有算术把它们联系在一起。H9 可以是 2、4、5、6、7 或 8,J5 可以是 2、3、6、7 或 9。只有数对 J5/H9 = 3/4、6/7 和 7/8 成立,所以 2、5 和 6 离开 H9,2 和 9 离开 J5。
同样的思路也适用于和为固定值(如 10)的两个外部格:逐对测试即可。
| 笼拆分 | 笼比较 | |
|---|---|---|
| 跨区笼数 | 一个 | 2 个 |
| 得到的结果 | 两个已知的和 | 一个联系外部格的等式 |
| 影响的格 | 一个笼的两半 | 每个笼中的一个格 |
| 难度 | 先算术后枚举 | 先代入,再逐对测试 |
笼比较是进阶技巧中最重的杀手数独技巧,因为它要求你用一个笼的选项去测试另一个笼的选项。大约在困难杀手数独变得必要,之后依然有用,尤其是每个宫都有两个笼漏出边缘的盘面。在更简单的 45 法则方法用尽之后再用它。