准备好开始了吗?

开始玩数独!

Swordfish 数独技巧

进阶经典 + 杀手第 22 步,共 38 步阅读约 1 分钟

Swordfish(剑鱼)是 X-Wing 的三线版本。取一个数字,找到三行,其中这个数字都被限制在同样的三列里,这个数字就可以从这三列在盘面其他位置的格中删除。

这个图形是什么

一次只处理一个数字。选三行(基线),在每一行里这个数字最多有三个候选数格。如果这些候选数全部落在同样的三列之内,你就有了 Swordfish,这三列就是覆盖线。

道理纯粹是计数。三行各需要这个数字的一个副本,三个副本都在三列里,而一列最多只放一个副本。所以这三列被这三行完全占满了。这些列里的其他格都不能放这个数字。

行和列互换后,一切同理:被限制在三行里的三列,会把这个数字从那几行中排除。

X-WingSwordfish
基线23
覆盖线23
每条基线的候选数恰好 2 个2 个或 3 个
图形格数46 到 9
典型排除数1 到 42 到 8

放宽的计数正是 Swordfish 难以看出的原因:一条基线可能显示两个候选数,也可能三个,图形通常是参差不齐的,而不是整齐的矩形。

什么时候找它

  • 一个数字已经填了 6 次或 7 次,所以只剩几行还需要它。
  • 两行共享一对列,但没有第三行能凑成 X-Wing。
  • 唯一数、子集和指向规则都用尽了,而你又不想开始一条链。

具体怎么做

  1. 选一个数字,对每一行写下它仍然可能出现的列。
  2. 忽略有 4 列或更多列的行,它不能做基线。
  3. 找三行,它们的列合起来恰好是三列。
  4. 把这三列标为覆盖线。
  5. 在这三列中、位于三条基线行之外的每个格里,删除这个数字。
  6. 把列当作基线,重复一遍。

一个实例

只看数字 5。看行 B、D 和 H:行 B 只能在 B7 或 B8 放 5,行 D 只能在 D3 或 D7,行 H 只能在 H3、H7 或 H8。

  1. 简单技巧已用尽。看行 B、D、H 里的 5。

  2. 行 B 的 5 只能放在 B7 或 B8,行 D 只能放在 D3 或 D7,行 H 只能放在 H3、H7 或 H8。

  3. 这些 5 全部落在三列中:列 3、7、8。

    三行各需要自己的一个 5,且没有两个能共用同一列,所以行 B、D、H 在列 3、7、8 中各放一个 5。

  4. 因此列 3、7、8 的 5 都落在行 B、D、H 中。G3、F7、F8、J8 在这些列里,但不在这些行里。

  5. 从 F7、F8、G3、J8 中排除 5,因为列 3、7、8 的 5 已在行 B、D、H 中。

简单技巧已用尽。看行 B、D、H 里的 5。

所有这些 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 与三个指向数对混淆。指向在一个宫内部起作用;Swordfish 横跨整个盘面。
  • 漏掉以列为基础的版本。两个方向都要搜索。

在哪里遇到它

Swordfish 图形在困难经典数独开始起作用,与 Wing 并列。它们比 X-Wing 罕见得多,所以把这个搜索当作转向染色和链之前的最后一次扫描;如果三条线不够,同样的计数论证用到四条线上就是 Jellyfish。