技巧文档 / 剑鱼(三阶鱼)
剑鱼(三阶鱼)
小提示:剑鱼可以看成是 X翼(二阶鱼) 的升级版。 如果你还没看过 X翼,建议先从这里开始: X翼(二阶鱼)
进阶
剑鱼(三阶鱼)
小提示:剑鱼可以看成是 X翼(二阶鱼) 的升级版。
如果你还没看过 X翼,建议先从这里开始:
X翼(二阶鱼)
剑鱼其实不难,你可以把它想成一句话:
三行(或三列)把同一个数字“锁”进三列(或三行)里,于是这三列(或三行)里其它位置的同数字候选就可以删掉。
我们下面用 r1c1 来表示格子位置:
r 是行(row),c 是列(column)。
这招什么时候能用?
按下面三句话检查就够了(只盯一个数字 d):
- 找到三行(或三列)
- 在这三行里,d 的所有候选都落在同一组 3 列 的交叉点里(可以少,但不能跑到别的列)
- 这就像织了一张 3×3 的小渔网
⇒ 那 3 列里,渔网之外的候选 d 都可以删掉(同理也可以是“三列锁三行”)
你可以记成一句口诀:
“三行锁三列,网外同数全可删。”
一个演示例子(前三张图是同一个例子)
第 1 步:先找到“渔网”(上图)

先看上图:我们只关心第 4、6、8 行。
你会看到数字 5 的绿色候选都落在 第 3、5、7 列 的交叉点里 —— 这就是剑鱼的“鱼身”(渔网)。
第 2 步:用一个“假设”帮助你理解(下图)

这一步不是要你真的去填数,只是帮你更直观地理解:
- 假设 r8c3 填入 5
- 那么 第 8 行其它格子就不能再是 5
- 同时 第 3 列其它格子也不能再是 5
所以下图里标红的候选 5 都会被排除掉。
第 3 步:你会发现它会“退化成 X翼”(下图)

当第 8 行的 5 被“固定”在渔网的某个角上时,剩下的第 4 行和第 6 行里,候选 5 会变得更“整齐”,又能构成我们熟悉的 X翼。
这就是剑鱼的直觉:
不管第 8 行最终把 5 放在渔网的哪一个位置,这张渔网都会把 第 3、5、7 列里的 5 “占住”。
因此,这三列里渔网之外的候选 5 都不可能成立,可以删除。
一个真实题目示例(下图)

先看下图:这题里由第 1、3、8 行组成剑鱼,鱼身落在第 2、4、8 列的交叉点上,目标数字是 2。
你可能会注意到:
- r3c4 已经是一个确定数字(不是候选)
- r8c8 里并没有候选 2
这些都没关系。剑鱼的关键是:
在这三行里,数字 2 的所有候选位置都被限制在这三列的交叉点里。
可以少,但不能多。
所以第 2、4、8 列里,交叉点之外的候选 2 都不可能成立——下图用红色标出来的就是可以删除的候选。
更高阶的鱼
如果你已经理解了“三行锁三列”的剑鱼,那么更大的鱼其实就是把渔网放大:
- 四阶鱼(水母):四行锁四列(或四列锁四行)
- 五阶鱼:同理
推理方式完全一样:候选数被锁在渔网交点里,所以覆盖线里“交点之外”的同数字候选都可以删除。
我们这里不再单独展开写更高阶鱼,看到它们时就把剑鱼的思路套上去就行啦。