摩天楼

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。

解题步骤

  1. 选定候选数字 N:扫描盘面,寻找在某行中恰好出现两次的候选数

  2. 找两行共享一列:找到两行,它们对候选数 N 各有两个位置,且这两行中各有一个位置在同一列(共享列)

  3. 确认四个端点

    • 共享列的两个格子(底柱):设为 R1Ca、R2Ca
    • 两行各自的非共享格(顶端):设为 R1Cb、R2Cc
  4. 寻找消除目标:找出所有同时能看到 R1Cb 和 R2Cc 的格子

    “能看到”意味着:在同一行、同一列或同一宫

  5. 消除候选数:在这些目标格中,删除候选数 N

示例详解

摩天楼:识别底座与屋顶

3 6 8 5 2 2 5 6 1 7 9 3 4 8 7 8 2 3 4 1 6 1 3 4 5 6 7 9 5 4 7 3 9 8 6 1 6 9 8 7 1 2 4 3 5 3 1 5 8 2 7 6 4 8 6 1 5 7 7 4 5 6 3 8 1 9 5 9 9 2 9
观察数字9的分布:第3行中9只出现在C3和C8两个位置,第9行中9只出现在C1和C8两个位置。两行共享第8列(绿色底座:R3C8、R9C8),另外两端是"屋顶"(蓝色:R3C3、R9C1)。

以候选数字 4 为例:

第 3 行:数字 4 出现在 R3C2 和 R3C7 第 8 行:数字 4 出现在 R8C2 和 R8C5

两行共享第 2 列(底柱:R3C2 和 R8C2)

角色格子说明
底柱上端R3C2第 3 行,共享列
底柱下端R8C2第 8 行,共享列
顶端 1R3C7第 3 行,非共享端
顶端 2R8C5第 8 行,非共享端

推理

  • 若 R3C2 = 4 → R8C2 ≠ 4(同列不能重复)→ R8C5 = 4(第 8 行强链)
  • 若 R3C2 ≠ 4 → R3C7 = 4(第 3 行强链)

因此 R3C7 和 R8C5 这两个”屋顶”中至少有一个是 4

摩天楼:消除目标

3 6 8 5 2 2 5 6 1 7 9 3 4 8 7 8 2 3 4 1 6 1 3 4 5 6 7 9 5 4 7 3 9 8 6 1 6 9 8 7 1 2 4 3 5 3 1 5 8 2 7 6 4 8 6 1 5 7 7 4 5 6 3 8 1 4 9 9 5 9 2 9 9 2 9 9 9
无论9在底座的哪一端(R3C8或R9C8),两个屋顶中必有一个为9。因此,同时看到两个屋顶的格子不可能包含9。R1C1(同宫R3C3 + 同列R9C1)和 R8C3(同列R3C3 + 同宫R9C1)消除候选数9。

消除目标:R8C7 同时看到 R3C7(同列)和 R8C5(同行),因此 R8C7 可排除候选数 4

实用技巧

  • 先找二值行:快速扫描每个数字在各行的候选数数量,只有恰好 2 个位置的行才能参与摩天楼

  • 列共享是关键:两行的四个格子中,必须有一列被两行共享,这是摩天楼的”脊梁”

  • 摩天楼 vs X-WingX-Wing 要求两行四个格子恰好在两列,形成完美矩形;摩天楼则允许两行各自的端点不在同一列,结构更灵活

  • 可对列同样操作:上述分析对两列共享一行的情况完全对称,只需将行列互换

  • 画出图形:在纸上或脑中画出四个端点和底柱,直观判断哪些格子”同时看到”两个顶端

与其他技法的关系

  • 前置技法X-Wing——摩天楼是 X-Wing 的”不对称”变体,理解 X-Wing 后摩天楼很自然
  • 姐妹技法双线风筝——同样使用一行强链和一列强链,区别在于双线风筝的行链和列链通过一个宫相连,而摩天楼通过共享列相连
  • 延伸技法:摩天楼可以看作是强链网络中最简单的两步推理,掌握后可以进一步学习候选链(AIC)

常见问题

Q:摩天楼必须用两行吗?能用两列吗?

A:完全可以用两列。将上述描述中所有”行”和”列”互换,得到的就是列版本的摩天楼。两行版本和两列版本在逻辑上完全对称,效果相同。

Q:摩天楼和 X-Wing 有什么实质区别?

A:X-Wing 要求两行的候选数位置完全对齐在同两列(四个格子构成矩形),可以对整列进行消除;摩天楼只要求两行共享一列(底柱),另外两个端点不需要在同一列,消除范围更小但适用场景更广。摩天楼是 X-Wing 的”宽松版”。

在爱九宫数独中练习

打开爱九宫数独 App → 学习 → 高级技法 → 摩天楼,开始专项练习。建议先熟练掌握 X-Wing 后再学习摩天楼,两者结合使用能覆盖大量中高难度数独局面。