准备好开始了吗?

开始玩数独!

多格内凸与外凸

进阶仅限杀手数独第 15 步,共 38 步阅读约 1 分钟

多格内凸与外凸是 45 法则的进阶版:不再只看一个剩余格,而是算出两个或更多剩余格的总和,再把这一组格当作盘面上从未画出的笼来处理。

这个图形是什么

每行、每列、每宫都恰好包含 1 到 9 各一次,所以每个区域的总和是 45。两行(或两列)合起来是 90,三行是 135。互不重叠的一个宫加一行,同样是 90。

选一个由完整区域构成的范围。把完全位于其中的笼的和值加起来。它与该范围总和的差,属于剩下的那些格,这些格属于跨区笼。只剩一个格时,你得到一个数字。剩下两个或更多格时,你得到一个虚拟笼:一组和值已知、但没有印出轮廓的格子。像对待真正的笼一样枚举它,把没有出现在任何有效拆法里的候选数划掉。

什么时候找它

  • 一行、一列、一个宫,或由其中两三个组成的带,除了两三个零散的格子之外,都被完整的笼覆盖。
  • 有两个或更多笼跨越边界,所以单格内凸与外凸用不上。
  • 剩余和值相对于格数来说很极端:两个格的总和为 7,或三个格的总和为 23,能大幅削减候选数。

具体怎么做

  1. 选好范围,写下它的总和:45、90 或 135。
  2. 把完全位于范围内的每个笼加起来,再加上没有被这类笼覆盖的已填数字。
  3. 相减。余数就是剩余格对应的虚拟笼总和。
  4. 判断这些格里数字能否重复。共享同一行、列、宫或笼的格必须不同;什么都不共享的格可以放相同的数字。
  5. 按这条规则列出所有能达到总和的组合,然后删除在所有组合中都不存在的候选数。

一个实例

把第 1 列和第 2 列放在一起看。

  1. 简单技巧已用尽。把列 1 和列 2 放在一起看。

  2. 列 1 和列 2 各自的和都是 45,所以两列合计 90。

  3. 有三个笼完全位于这两列之内:29 笼(B1、B2、C1、D1、E1、F1)、22 笼(D2、E2、F2、G2、H2)和 20 笼(G1、H1、J1、J2):29 + 22 + 20 = 71。

  4. 只剩 A1、A2、C2 没被覆盖,这三个内凸格之和为 90 − 71 = 19。

  5. C2 是 6、8 或 9,所以 A1 + A2 = 19 − C2,即 13、11 或 10。

    如果 A1 或 A2 里有 1,另一格就要填 12、10 或 9,而这两格都没有 9。

  6. 从 A1 和 A2 中排除 1,因为 A1、A2、C2 之和必须为 19。

简单技巧已用尽。把列 1 和列 2 放在一起看。

每列总和是 45,所以两列合起来是 90。有三个笼完全位于其中:29 笼(B1、B2、C1、D1、E1、F1)、22 笼(D2、E2、F2、G2、H2)和 20 笼(G1、H1、J1、J2)。它们覆盖 15 个格,和为 29 + 22 + 20 = 71。

还剩 3 个格:A1 和 A2(在沿行 A 的 26 笼里)以及 C2(在 25 笼 B3、C2、C3、D3 里)。三者合起来是 90 - 71 = 19,这是一个没有印出轮廓的虚拟笼。C2 只能是 6、8 或 9,所以 A1 + A2 是 13、11 或 10。A1 或 A2 里若是 1,另一个就需要是 12、10 或 9,而这两个格都不能放 9。所以 1 离开 A1 和 A2。

这里三个格彼此都互相看得到(行 A、第 2 列和第 1 宫),所以必须互不相同。没有共享任何区域的剩余格可以重复数字,这种情况在列出组合时需要格外小心。

单格与多格

单格内凸与外凸多格版本
跨区笼一个2 个或更多
剩余格一个通常是 2 个或 3 个
结果一个确切的数字一个需要枚举的和值
数字可重复不适用可以,当这些格互相看不到
工作量只需算术算术加上组合列表

常见错误

  • 以为剩余格必须不同。 位于不同行、列、宫的两个内凸格可以共用一个数字。禁止重复会丢掉真正的解。
  • 混用重叠的区域。 共享三个格的一行和一个宫,总和不是 90。只有不相交的区域才能干净地相加。
  • 纠缠于大的格组。 四五个剩余格很少能削减什么。两三个才是最佳点。
  • 忘了重新检查。 每次填数都会改变内部总和,所以一小时前毫无收获的范围,现在可能就有收获了。

在哪里遇到它

这是进阶技巧级别的逻辑。较简单的杀手数独盘面会让单个剩余格早早且频繁地出现,但从困难杀手数独往上,出题者会刻意在每个宫里安排两个跨区笼,让简单形式失效。学会把相邻两行的带看成一个 90 点的区域,是让这些题目继续推进的一步。