技巧文档 / 摩天大楼
摩天大楼
前置知识: 链的基础
进阶
摩天大楼
前置知识:链的基础
描述
摩天大楼是一种“删候选”的单数技巧:只盯住一个数字 d。
当 d 在两条平行的行/列里都只剩 2 个候选位置(两面墙),并且两面墙各有一个端点落在同一条垂直的行/列上(地基),剩下的两个端点就是屋顶。
能同时看见两个屋顶的位置,其候选 d 就可以删除。
详解

先看上图:目标数字是 9。
你可以把它当成一栋小楼:
- 两面墙(强链):在 第 2 列里,9 只出现在 r4c2 和 r9c2;在 第 8 列里,9 只出现在 r6c8 和 r9c8
(同一列里只剩两个位置 ⇒ 二选一的强链) - 地基(弱链):两面墙的“底端”都落在 第 9 行(图中用黄虚线连起来)
同一行不可能出现两个 9 ⇒ 这两个底端不可能同时为真 - 屋顶:两面墙“上面”那两个端点(图中蓝色格子 r4c2 和 r6c8)
现在看红色候选:r6c1 和 r4c9 里的候选 9。为什么它们能删?
重点只要看这条反证就够了:
- 假设红色候选 9 为真(以 r6c1 为例,r4c9 同理)
- 它能同时看见两个屋顶,所以 r4c2 ≠ 9 且 r6c8 ≠ 9
- 两面墙是强链:屋顶被排除后,9 就会被迫落到地基的两个端点 r9c2 和 r9c8
- 可地基在同一行上,不可能同时出现两个 9 → 矛盾
所以红色候选不可能为真,r6c1 与 r4c9 里的候选 9 都可以删除。
例子
下面两张图展示了两种方向的摩天大楼,你可以照着对比“墙 / 地基 / 屋顶 / 删数点”:


如何寻找摩天大楼?
在游戏里你可以按这个顺序找:
- 先选一个数字 d
- 找两条平行的行/列,让 d 在每条里都只剩 2 个候选位置
- 看看它们是否能在某一条垂直行/列上对齐出一条地基
- 另两个端点就是屋顶:能同时看见两个屋顶的位置,就是可删的候选 d