X-Wing
某数字的四个候选格构成的矩形,能把该数字从两条交叉线上排除。
X-Wing 是你通往高级解题的门户。它一次只作用于一个数字,所以一旦你的笔记就位,它比看上去更容易发现。
挑一个数字,看两行。如果在这两行里那个数字都只能进相同的两列,那四个格子就构成一个矩形。该数字必坐落在那个矩形两条对角线之一上 — 无论哪条,那两列最终都会含有该数字。这让你能把该数字从那两列的其余部分擦掉。
这个图形是对称的:从两列出发、沿行排除也同样有效。X-Wing 是“鱼”家族里最小的成员 — Swordfish 和 Jellyfish 是同样思路在三线和四线上的版本。
如何发现一个 X-Wing
选一个数字,扫描各行。你在搜寻两行,其中那个数字各自恰好有两个候选格 — 不多不少 — 且这些候选数在两行里都落在相同的那一对列上。
当你找到它们时,那四个格子构成一个矩形。无论该数字取哪条对角线,那两列都被占用了。所以该数字不能出现在那两列的别处:把它从其中其他每个格子里擦除。然后把行和列互换,再做一整遍扫描。
- 一次一个数字 — 绝不混两个。
- 两行,每行对该数字恰好有两个候选格。
- 候选数所在的列跨两行对齐。
- 把该数字从那两列里其他每一行排除。
矩形为何成立
四个角给你两种放该数字的方式:左上和右下一对,或右上和左下一对。你不知道哪一种正确 — 但你也不需要知道。
无论哪种,该数字最终都各在那两列里出现一次。一列只能含该数字一次,所以它的配额已被矩形填满。那两列里该数字的任何其他候选数因此都不可能,你可以放心地擦掉它。
行还是列 — 两个方向都扫
一个 X-Wing 可以定义在行上(沿列排除)或定义在列上(沿行排除)。它们是同一图形的两个视角,一个网格可能藏起其一却显出另一。当一道谜题停滞时,先在两个方向都跑一遍扫描,再动用更难的技巧。
X-Wing vs 摩天楼 vs Swordfish
这三种图形会被搞混,因为它们都在两三条线上作用于单个数字。区别在于候选格如何对齐。
X-Wing 需要一个干净的矩形:两行、两列,四角全对齐。摩天楼是当那个矩形几乎成形却没成形时你所动用的 — 两行共享一列,但它们另外两个格子(“楼顶”)落在不同的列。由于四角不对齐,你不能清空整列;你只能把该数字从能同时看到两个楼顶的格子里擦除。HoDoKu 正因如此把摩天楼归在单数字链图形而非鱼里。
Swordfish 不过是 X-Wing 放大一号:同样的鱼逻辑,但铺在三行三列而非两行两列上。Jellyfish 把它推到四。如果你能读懂 X-Wing,你就能读懂它们全部 — 只是矩形的大小变了。
- X-Wing — 一个数字,2 行 × 2 列,四角对齐成矩形;清空那两列。
- 摩天楼 — 一个数字,2 行共享一列但楼顶格子错位;清空能看到两个楼顶的格子。
- Swordfish — 同样的鱼图形用在 3 行 × 3 列;Jellyfish 用在 4 × 4。
解题示例
- 挑数字 6,把它的所有候选数都标上。
- 在第 2 行,只有第 3 列和第 7 列的格子能容纳一个 6。
- 在第 8 行,只有第 3 列和第 7 列的格子也能容纳一个 6。
- 那四个格子(R2C3、R2C7、R8C3、R8C7)构成一个 X-Wing 矩形。
- 那个 6 必坐落在一条对角线上:要么 R2C3 + R8C7,要么 R2C7 + R8C3。
- 无论哪种,第 3 列和第 7 列都各自从第 2 行和第 8 行得到它们的唯一一个 6。
- 所以第 3 列或第 7 列里其他任何格子都不能是 6 — 把 6 从它们全部擦除。
- 这些排除通常会在别处留下一个隐性唯一,谜题又能继续推进。
自己试试
Tap a cell, then a number, to practise.
常见问题
- 它为什么叫 X-Wing?
- 因为两种有效填法落在矩形的一条对角线上,构成互斥选项的一个 X。该数字取这条或那条对角线 — 绝不两条都取。
- X-Wing 和摩天楼有什么区别?
- X-Wing 需要四个角全对齐成一个干净的矩形,所以它清空两整列(或两整行)。摩天楼用于那个矩形不太成形时:两条线共享一列但另一端错位,所以你只能把该数字从能看到那两个松散端的格子里排除。
- Swordfish 只是更大的 X-Wing 吗?
- 是的。Swordfish 用同样的单数字鱼逻辑铺在三行三列而非两行两列上,而 Jellyfish 把它延展到四。推理完全相同 — 只是线的数目变了。
- 该数字必须在每行里恰好出现两次吗?
- 对严格的 X-Wing 来说,是的 — 在两条基线的每一条里恰好两个候选格。如果某行对该数字有三个或更多候选数,矩形就没锁定,排除也不成立。
相关技巧
延伸阅读
- X-Wing Strategy — SudokuWiki.org
- Basic Fish (X-Wing, Swordfish, Jellyfish) — HoDoKu
练习:X-Wing
在真实棋盘上运用X-Wing — 免费数独,支持笔记、提示和四种难度。
在真实棋盘上试一试