技巧文檔 / 劍魚(三階魚)
劍魚(三階魚)
> 小提示:劍魚可以看成是 <strong>X翼(二階魚)</strong> 的升級版。
進階
劍魚(三階魚)
小提示:劍魚可以看成是 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 都不可能成立——下圖用紅色標出來的就是可以刪除的候選。
更高階的魚
如果你已經理解了“三行鎖三列”的劍魚,那麼更大的魚其實就是把漁網放大:
- 四階魚(水母):四行鎖四列(或四列鎖四行)
- 五階魚:同理
推理方式完全一樣:候選數被鎖在漁網交點裏,所以覆蓋線裏“交點之外”的同數字候選都可以刪除。
我們這裏不再單獨展開寫更高階魚,看到它們時就把劍魚的思路套上去就行啦。