Skyscraper
Skyscraper(摩天楼)是只涉及一个数字的结构,建立在该数字恰好有两个候选格的两行上。每行各有一个格子位于同一列;这两个格子是底格,它们不可能都是该数字。另外两个格子,即顶格,位于不同的列。由于至少有一个底格不是该数字,至少有一个顶格必须是它,所以可以把该数字从同时看到两个顶格的每个格子中删去。把行换成列也同样成立。Skyscraper 和 2-String Kite 一样,是 Turbot Fish 的一种形式,在 Bare Sudoku 中属于专家级技巧。
何时使用
当 X-Wing、Y-Wing、Swordfish 和 XYZ-Wing 都找不到结果时。Skyscraper 是 Bare Sudoku 中最常见的专家级结构之一,常常出现在 X-Wing 差一点就成立的地方:某数字各有两个候选数的两行只共用一列,而不是两列。对你检查的那个数字,笔记必须完整。
如何发现
选定一个数字,列出它恰好有两个候选格的所有行。把这些行两两比较:如果每行恰好有一个候选格落在同一列,这两个格子就是底格,另外两个就是顶格。然后寻找同时看到两个顶格、且仍含有该数字的格子;它们通常位于一个顶格所在的宫和另一个顶格所在的列。再把行换成列重复一遍。在游戏中点该数字键,高亮它的候选数,寻找各恰好显示两个的两行。
例题
| c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 | c9 | |
|---|---|---|---|---|---|---|---|---|---|
| r1 | 6 | 23 | 125 | 35 | 7 | 4 | 9 | 158 | 18 |
| r2 | 8 | 49 | 457 | 59 | 6 | 1 | 3 | 2 | 47 |
| r3 | 59 | 349 | 1457 | 359 | 8 | 2 | 457 | 6 | 147 |
| r4 | 59 | 289 | 258 | 4 | 3 | 58 | 1 | 7 | 6 |
| r5 | 4 | 6 | 58 | 1 | 9 | 7 | 58 | 3 | 2 |
| r6 | 1 | 7 | 3 | 6 | 2 | 58 | 458 | 45 | 9 |
| r7 | 2 | 5 | 48 | 7 | 1 | 9 | 6 | 48 | 3 |
| r8 | 7 | 1 | 6 | 8 | 4 | 3 | 2 | 9 | 5 |
| r9 | 3 | 48 | 9 | 2 | 5 | 6 | 47 | 148 | 1478 |
粗体数字是题目给出的,蓝色数字是解题时填入的,小数字是候选数。高亮的格子构成该结构,划掉的候选数将被删除,圈出的候选数就是要填入的数字。
- 数字 8 在第 5 行恰好有两个候选格:r5c3 和 r5c7;在第 7 行也恰好有两个:r7c3 和 r7c8。
- r5c3 和 r7c3 都在第 3 列,所以最多只有一个能是 8。它们是底格;r5c7 和 r7c8 是顶格。
- 如果 r5c3 不是 8,第 5 行的 8 就必须放在 r5c7。如果 r7c3 不是 8,第 7 行的 8 就必须放在 r7c8。至少有一个底格不是 8,所以至少有一个顶格是 8。
- 同时看到两个顶格的格子永远不可能是 8。从 r6c8, r9c7 中删去 8。
常见错误
- 用了该数字有三个候选格的行。两行都必须恰好各有两个,否则这一行可能把该数字放在别处。
- 选了候选格在两列上都对齐的两行。那是 X-Wing,它删除的是这两列其余格子中的该数字。
- 从只看到一个顶格的格子中删去该数字。被删除的格子必须同时看到两个顶格。
在 Bare Sudoku 中
所需难度:专家及以上
游戏中的提示:Skyscraper
常见问题
数独中的 Skyscraper 是什么?
一个数字在两行或两列中各恰好有两个候选格的结构。每行有一个格子对齐在共同的一列上;另外两个,即顶格,则不对齐。至少有一个顶格是该数字,所以把它从同时看到两个顶格的每个格子中删去。
为什么叫 Skyscraper(摩天楼)?
因为它在列的版本中的形状:两列像两座塔一样从共同的底行升起,顶端停在不同的高度。行的版本就是把同一个结构横过来。
Skyscraper 属于 Turbot Fish 吗?
是的。Turbot Fish 通过两个互相看到的格子,连接某数字恰好有两个候选数的两个区域。在 Skyscraper 中,这两个区域是平行的两行或平行的两列,被连接的格子共用一列或一行;在 2-String Kite 中,它们是一行和一列,在一个宫中相连。
Skyscraper 和 X-Wing 有什么区别?
X-Wing 要求两对候选格都对齐在同样的两列,并从这两列的其余格子中删去该数字。Skyscraper 只有一对对齐;顶格是自由的,只有同时看到两个顶格的格子才会失去该数字。