摩天楼
Skyscraper
概要:摩天楼(Skyscraper)是一种基于强链的单数字消除技法。两行中某候选数各只有两个位置,两行共享一列(底柱),形成摩天楼形状。任何同时能看到另外两个端点的格子,均可排除该候选数。
什么是摩天楼?
摩天楼(Skyscraper)是数独中一种基于强链(Strong Link)推理的单数字消除技法,因其图形结构形似摩天楼而得名。
要理解摩天楼,先回顾强链的概念:在一个行、列或宫(单元)中,如果某候选数只出现在恰好两个位置,这两个位置之间就构成一条强链——即”这两个位置中必有一个是正确答案”。
摩天楼的结构:
找两行(设为第 R1 行和第 R2 行),对于同一个候选数字 N:
- 第 R1 行中,N 恰好出现在两列:Ca 和 Cb
- 第 R2 行中,N 恰好出现在两列:Ca 和 Cc(注意:两行共享列 Ca)
这样形成的图形:
- 底柱:共享列 Ca(R1Ca 和 R2Ca 在同一列,构成列强链)
- 左翼:R1Cb(第一行的非共享端点)
- 右翼:R2Cc(第二行的非共享端点)
推理逻辑:
- 若 R1Ca = N → R2Ca ≠ N(同列不能重复)→ R2Cc = N(第 R2 行强链)
- 若 R1Ca ≠ N → R1Cb = N(第 R1 行强链)
无论 R1Ca 是否为答案,R1Cb 和 R2Cc 这两个”屋顶”中至少有一个是 N。因此,任何同时能看到 R1Cb 和 R2Cc 的格子,都不可能填 N,可以排除候选数 N。
解题步骤
-
选定候选数字 N:扫描盘面,寻找在某行中恰好出现两次的候选数
-
找两行共享一列:找到两行,它们对候选数 N 各有两个位置,且这两行中各有一个位置在同一列(共享列)
-
确认四个端点:
- 共享列的两个格子(底柱):设为 R1Ca、R2Ca
- 两行各自的非共享格(顶端):设为 R1Cb、R2Cc
-
寻找消除目标:找出所有同时能看到 R1Cb 和 R2Cc 的格子
“能看到”意味着:在同一行、同一列或同一宫
-
消除候选数:在这些目标格中,删除候选数 N
示例详解
摩天楼:识别底座与屋顶
以候选数字 4 为例:
第 3 行:数字 4 出现在 R3C2 和 R3C7 第 8 行:数字 4 出现在 R8C2 和 R8C5
两行共享第 2 列(底柱:R3C2 和 R8C2)
| 角色 | 格子 | 说明 |
|---|---|---|
| 底柱上端 | R3C2 | 第 3 行,共享列 |
| 底柱下端 | R8C2 | 第 8 行,共享列 |
| 顶端 1 | R3C7 | 第 3 行,非共享端 |
| 顶端 2 | R8C5 | 第 8 行,非共享端 |
推理:
- 若 R3C2 = 4 → R8C2 ≠ 4(同列不能重复)→ R8C5 = 4(第 8 行强链)
- 若 R3C2 ≠ 4 → R3C7 = 4(第 3 行强链)
因此 R3C7 和 R8C5 这两个”屋顶”中至少有一个是 4。
摩天楼:消除目标
消除目标:R8C7 同时看到 R3C7(同列)和 R8C5(同行),因此 R8C7 可排除候选数 4。
实用技巧
-
先找二值行:快速扫描每个数字在各行的候选数数量,只有恰好 2 个位置的行才能参与摩天楼
-
列共享是关键:两行的四个格子中,必须有一列被两行共享,这是摩天楼的”脊梁”
-
摩天楼 vs X-Wing:X-Wing 要求两行四个格子恰好在两列,形成完美矩形;摩天楼则允许两行各自的端点不在同一列,结构更灵活
-
可对列同样操作:上述分析对两列共享一行的情况完全对称,只需将行列互换
-
画出图形:在纸上或脑中画出四个端点和底柱,直观判断哪些格子”同时看到”两个顶端
与其他技法的关系
- 前置技法:X-Wing——摩天楼是 X-Wing 的”不对称”变体,理解 X-Wing 后摩天楼很自然
- 姐妹技法:双线风筝——同样使用一行强链和一列强链,区别在于双线风筝的行链和列链通过一个宫相连,而摩天楼通过共享列相连
- 延伸技法:摩天楼可以看作是强链网络中最简单的两步推理,掌握后可以进一步学习候选链(AIC)
常见问题
Q:摩天楼必须用两行吗?能用两列吗?
A:完全可以用两列。将上述描述中所有”行”和”列”互换,得到的就是列版本的摩天楼。两行版本和两列版本在逻辑上完全对称,效果相同。
Q:摩天楼和 X-Wing 有什么实质区别?
A:X-Wing 要求两行的候选数位置完全对齐在同两列(四个格子构成矩形),可以对整列进行消除;摩天楼只要求两行共享一列(底柱),另外两个端点不需要在同一列,消除范围更小但适用场景更广。摩天楼是 X-Wing 的”宽松版”。
在爱九宫数独中练习
打开爱九宫数独 App → 学习 → 高级技法 → 摩天楼,开始专项练习。建议先熟练掌握 X-Wing 后再学习摩天楼,两者结合使用能覆盖大量中高难度数独局面。