Swordfish(剑鱼)是 X-Wing 的三线版本。取一个数字,找到三行,其中这个数字都被限制在同样的三列里,这个数字就可以从这三列在盘面其他位置的格中删除。
一次只处理一个数字。选三行(基线),在每一行里这个数字最多有三个候选数格。如果这些候选数全部落在同样的三列之内,你就有了 Swordfish,这三列就是覆盖线。
道理纯粹是计数。三行各需要这个数字的一个副本,三个副本都在三列里,而一列最多只放一个副本。所以这三列被这三行完全占满了。这些列里的其他格都不能放这个数字。
行和列互换后,一切同理:被限制在三行里的三列,会把这个数字从那几行中排除。
| X-Wing | Swordfish | |
|---|---|---|
| 基线 | 2 | 3 |
| 覆盖线 | 2 | 3 |
| 每条基线的候选数 | 恰好 2 个 | 2 个或 3 个 |
| 图形格数 | 4 | 6 到 9 |
| 典型排除数 | 1 到 4 | 2 到 8 |
放宽的计数正是 Swordfish 难以看出的原因:一条基线可能显示两个候选数,也可能三个,图形通常是参差不齐的,而不是整齐的矩形。
只看数字 5。看行 B、D 和 H:行 B 只能在 B7 或 B8 放 5,行 D 只能在 D3 或 D7,行 H 只能在 H3、H7 或 H8。
所有这些 5 都在第 3、7 和 8 列,而且这些行中没有两行共享同一对列,所以这是真正的 Swordfish,而不是伪装的 X-Wing。计数是参差的:2 个、2 个和 3 个候选数。三行各自需要自己的 5,一列只放一个,所以第 3、7 和 8 列的 5 落在行 B、D 和 H。
这就释放了这些列的其余部分:F7、F8(第 7 列和第 8 列)、G3(第 3 列)和 J8(第 8 列)去掉 5。共四次排除,这里没有直接的填数。
Swordfish 图形在困难经典数独开始起作用,与 Wing 并列。它们比 X-Wing 罕见得多,所以把这个搜索当作转向染色和链之前的最后一次扫描;如果三条线不够,同样的计数论证用到四条线上就是 Jellyfish。