数独剑鱼(Swordfish)技巧:进阶解法详解

剑鱼(Swordfish)是一个进阶数独技巧,它把X翼从两行扩展到三行。规则是这样的:一个数字在三行里每行都只有两个或三个可填的格子,而且这些格子全都在同样的三列里,那么就可以把这个数字从这三列的其他所有格子中排除。

剑鱼属于一个叫“鱼”的结构家族。X翼用两行两列,剑鱼用三行三列,水母 (英文)(Jellyfish)用四行四列。结构越大,越少见,也越难看出来。本文先讲规则,再在一整块棋盘上逐格演示。

剑鱼的规则

剑鱼需要满足三个条件:

  1. 选一个数字,比如 2。
  2. 找三行,这个数字在每一行里都只有两个或三个可填的格子。
  3. 检查所有这些格子所在的列,合起来必须恰好是三列。

这三行里每一行都要出现一次这个数字。在这些行里,这个数字只可能出现在这三列,也就是三个数字要填进三列,其中任意两个不能在同一列,所以三列各得到恰好一个。

这就是说,这三列的这个数字已经在这三行里了。这三列的其他格子都不可能再填它,所以可以把它从这些格子里全部排除。

一行不必在三列里都有这个数字,某一行可以只在其中两列有。关键是总数:三行所有的格子合起来,必须恰好落在三列里。

一句话记住规则

三行,一个数字,同样的三列:把这个数字从这三列的其余格子中排除。

分步例题

在这个局面里,简单的步骤都已经走完,没有唯一数可填。每个空格里都标出了候选数,也就是那里仍然可能填的数字。

数独棋盘,所有候选数都已写出。已经没有唯一数可填。1629543289728297862914354358297629172134581369648349123857589589193761282842589162735927894283459249278592791628989716452893C1R1C2R2C3R3C4R4C5R5C6R6C7R7C8R8C9R9
使用剑鱼之前的局面。每个空格都标出了候选数。
  • 5 提示数
  • 5 已填好
  • 5 新填的数字
  • 5 构成结构的候选数
  • 5 可排除的候选数

这是 Sudoku Royale 的 Dojo 中这项技巧课程所用的棋盘,你可以在应用里跟着同一个例子练习。

找出结构

只看数字 2,一行一行地数它的格子。有三行正好配得上:

  • 第2行: 2 只可以填在 R2C1 和 R2C5。
  • 第3行: 2 只可以填在 R3C5 和 R3C8。
  • 第9行: 2 只可以填在 R9C1 和 R9C8。

这六个格子只用了三列:第1列、第5列和第8列。这就是数字 2 的剑鱼。每一行里这个数字只在三列中的两列出现,而且每一行缺的是不同的一列。结构仍然是完整的,因为三行合起来恰好用了三列。

数字 2 的剑鱼。在第2、3、9行里,数字 2 只可能出现在第1、5、8列,每行两个格子。第1列的另外一个格子和第8列的另外一个格子排除 2。1629543289728297862914354358297629172134581369648349123857589589193761282842589162735927894283459249278592791628989716452893C1R1C2R2C3R3C4R4C5R5C6R6C7R7C8R8C9R9
第2、3、9行和第1、5、8列的数字 2 的剑鱼。六个结构格子为橙色。2 从 R7C1 和 R6C8 中排除。

检查两种可能

  • 情形 A: 第2行的 2 在 R2C1。那么第9行的 2 不能在第1列,只能在 R9C8。这样第3行的 2 不能在第8列,只能在 R3C5。
  • 情形 B: 第2行的 2 在 R2C5。那么第3行的 2 在 R3C8,第9行的 2 在 R9C1。

两种情形里,第1列、第5列和第8列都各从这个结构中得到一个 2。所以这三列的其他格子都不可能是 2。把 2 从第1列的 R7C1 和第8列的 R6C8 排除。第5列没有其他带候选数 2 的格子,所以那里没有变化。

接下来怎么走

剑鱼本身不会填入数字,但它排除的候选数常常带来下一步。R6C8 原来有两个候选数,2 和 8。剑鱼排除了 2,只剩 8,这就是一个唯一余数:在 R6C8 填入 8。

使用剑鱼之后,R6C8 只剩候选数 8,所以在那里填入 8。16295432897282978629143543582976291721345813696483491238575895891937612884589162735927894283459249278592791628989716452893C1R1C2R2C3R3C4R4C5R5C6R6C7R7C8R8C9R9
排除候选数之后,R6C8 只剩 8 这一个候选数。

试试 Sudoku Royale

你熟悉的经典数独,没有广告,没有弹窗,没有杂乱。每天一道全新的每日挑战,不计时的无限练习,还有技巧特训。想要刺激时,可以在同一块棋盘上和 2 至 18 名玩家竞速。

免费下载 Sudoku Royale(iOS)

按列找的剑鱼

把行和列对调,剑鱼同样成立。如果一个数字在三列里每列都只有两个或三个可填的格子,而且这些格子全都在同样的三行里,就可以把这个数字从这三行的其他所有格子中排除。

逻辑完全一样,只是转了 90 度。找到结构的那些线保留候选数,要排除的是与它们交叉的线上的候选数。两个方向都要查,因为有的谜题只出现其中一种。

怎样找剑鱼

剑鱼比X翼更难找,因为要对上三行,而不是两行。你需要写全笔记 (英文),然后按下面的顺序找:

  1. 先试更简单的技巧。 唯一数、数对、指向对和X翼更容易找到,也能解决大多数格子。
  2. 一次只看一个数字。 先挑棋盘上剩余候选数少的数字,候选数越少,要检查的行越少。
  3. 记下有用的行。 对每一行,数一数这个数字可填的格子。留下有两个或三个格子的行,并记住它们的列。
  4. 三行组合。 如果其中三行合起来恰好用了三列,就有了剑鱼。找不到的话,用列再找一遍。
  5. 排除候选数。 把这个数字从三条交叉线的其他格子里排除,然后重新找隐性唯一数和唯一余数。

常见错误

  • 是四列而不是三列。 如果三行的格子用了四列,这个结构就不是剑鱼,剑鱼的规则什么也排除不了。排除候选数之前请再数一遍列数。
  • 排除的方向反了。 在行里找到的结构,要在列里排除候选数。那三行保留全部候选数。
  • 笔记不完整。 少写一个候选数,就会让一行看起来正好落在这三列里,其实它在三列之外还有一个格子。
  • 以为每次都能排除到候选数。 只有这三列里还有其他带这个数字的格子,剑鱼才有用。例题里第5列就没有。

什么时候找剑鱼,以及接下来学什么

剑鱼比X翼少见得多,因为要同时对上三行三列。很多困难谜题根本用不到它。只有在困难或专家级谜题里卡住,而更简单的技巧都没有进展时再找它。真的需要它时,它排除的候选数往往直接给出下一个数字,就像例题那样。

在 Dojo 里练习剑鱼

Sudoku Royale 的 Dojo 为这项技巧准备了简短的课程和特训:一盘接一盘,下一步正是用到它。你的纪录是连续答对的最快一次,还能和其他玩家比一比。在 iPhone 上打开剑鱼特训,或阅读Dojo 的玩法 (英文)。

免费下载 Sudoku Royale(iOS)

学完剑鱼之后,可以学XY翼,它把三个各有两个候选数的格子连起来,还有简单着色,它沿着一串格子追踪同一个数字。带鳍X翼 (英文)告诉你,当一条鱼多出一个格子时,还能排除什么。想了解全貌,请看数独技巧完整列表 (英文)。

常见问题

数独里的剑鱼是什么?

剑鱼是针对一个数字的结构。这个数字在三行里每行都只有两个或三个可填的格子,而且这些格子全都在同样的三列里。这时可以把这个数字从这三列的其他所有格子中排除。把行和列对调,规则同样成立。

剑鱼和X翼有什么区别?

X翼用两行两列,剑鱼用三行三列。逻辑是一样的,但剑鱼更少见,也更难看出来。

三行里每一行都要在三列里都有这个数字吗?

不用。每一行只需要在这三列中的两列或三列里有这个数字。规则只要求三行所有的格子合起来恰好用了三列。

剑鱼会排除哪些候选数?

它从三条交叉线上、结构以外的格子里排除这个数字。如果结构是在三行里找到的,就从那三列的其他格子里排除;如果是在三列里找到的,就从那三行的其他格子里排除。

剑鱼这个结构常见吗?

比X翼少见得多。简单和中等的谜题几乎用不到,只有一部分困难和专家级谜题需要它。

试试 Sudoku Royale

在 App Store 免费下载
Sudoku Royale:经典数独,没有广告,想玩时还有实时对战免费下载