多格内凸与外凸是 45 法则的进阶版:不再只看一个剩余格,而是算出两个或更多剩余格的总和,再把这一组格当作盘面上从未画出的笼来处理。
每行、每列、每宫都恰好包含 1 到 9 各一次,所以每个区域的总和是 45。两行(或两列)合起来是 90,三行是 135。互不重叠的一个宫加一行,同样是 90。
选一个由完整区域构成的范围。把完全位于其中的笼的和值加起来。它与该范围总和的差,属于剩下的那些格,这些格属于跨区笼。只剩一个格时,你得到一个数字。剩下两个或更多格时,你得到一个虚拟笼:一组和值已知、但没有印出轮廓的格子。像对待真正的笼一样枚举它,把没有出现在任何有效拆法里的候选数划掉。
把第 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 点的区域,是让这些题目继续推进的一步。