行列區塊摒除(Claiming)是一個數獨技巧:只看一橫列或一直行,就能排除某個宮裡的候選數。原理是這樣的:如果一橫列或一直行裡還能填某個數字的格子都在同一個宮裡,就可以把這個數字從這個宮的其他格子中全部排除。
這個技巧在英文裡也叫 Box-Line Reduction。它把指向數對(Pointing Pairs)的邏輯反過來用,中等和困難的題目經常需要它。本文先說明規則和幾個名稱,再用一道真實的題目逐格示範。
行列區塊摒除的規則
行列區塊摒除需要滿足三個條件:
- 選一橫列或一直行,再選一個這條線上還沒填的數字。
- 找出這條線上所有還能填這個數字的格子。
- 確認這些格子都在同一個宮裡。
每一橫列、每一直行裡,每個數字都要出現一次。如果這條線上能填這個數字的格子都在同一個宮裡,那麼這條線的這個數字一定落在這個宮裡。現在還不知道是哪一格,但已經知道是哪個宮了。
一個宮裡,每個數字也只能出現一次。這個宮的這個數字已經由這條線提供了,所以宮裡的其他格子都不可能再填它。把這個數字從宮裡不在這條線上的格子中全部排除。這條線把這個數字「佔」為己有,英文名稱 Claiming(佔有)就是這麼來的。
一句話記住規則
一條線,一個數字,能填的格子都在同一個宮裡:把這個數字從這個宮的其餘格子中排除。
行列區塊摒除的幾個名稱
Claiming 和 Box-Line Reduction 是同一個技巧的兩個英文名稱,中文叫行列區塊摒除,也有人簡稱行列區塊。書上和解題軟體裡,這幾個名稱都看得到。還有一個名稱把兩個技巧合在一起:區塊摒除法(Locked Candidates)。指向數對是第一型,也叫宮區塊摒除;行列區塊摒除是第二型。兩者都是把一個數字鎖在宮與線交會的那三個格子裡。
這兩型只是方向不同。指向數對從宮出發,在線上排除候選數。行列區塊摒除從線出發,在宮裡排除候選數。學會其中一個,另一個的邏輯你也就懂了。
真實例題,一步一步看
這個盤面來自一道真實的題目。每個空格裡都標出了候選數,也就是它所在的橫列、直行和宮還允許填的數字。
- 5 提示數
- 5 已填好
- 5 新填的數字
- 5 構成結構的候選數
- 5 可排除的候選數
找出結構
看第 7 橫列,只看數字 8。第 7 橫列有三個空格:R7C4、R7C8 和 R7C9。R7C4 的候選數裡沒有 8,因為第 4 直行已經有一個 8 了。所以第 7 橫列裡只有兩個格子能填 8:R7C8 和 R7C9。兩格都在第 9 宮,也就是右下角的宮。這就是數字 8 的行列區塊摒除。
排除候選數
第 7 橫列的 8 不是在 R7C8,就是在 R7C9。無論哪種情況,它都在第 9 宮,所以第 9 宮的 8 由第 7 橫列提供。第 9 宮的其他格子都不可能是 8。其中有五格的候選數裡有 8:R8C7、R8C9、R9C7、R9C8 和 R9C9。把這五格的 8 都排除。R7C8 和 R7C9 保留它們的 8。
接下來怎麼走
行列區塊摒除本身不能直接填出數字,但它排除的候選數常常會帶出下一步。看 R8C7。這一步之前,它有兩個候選數:7 和 8。現在 8 被排除,只剩下 7。只有一個候選數的格子就是唯一候選數(Naked Single):在 R8C7 填入 7。
試試 Sudoku Royale
你熟悉的經典數獨,沒有廣告,沒有彈窗,沒有雜亂。每天一道全新的每日挑戰,不計時的無限練習,還有技巧特訓。想要刺激時,可以在同一塊棋盤上和 2 至 18 名玩家競速。
免費下載 Sudoku Royale(iOS)橫列和直行,兩格和三格
例題用的是橫列,換成直行規則也一樣。如果一直行裡能填某個數字的格子都在同一個宮裡,就把這個數字從這個宮另外兩直行的格子中排除。
格子的數量可以是兩個,也可以是三個。一條線和一個宮正好共用三個格子,所以這個數字在結構裡最多有三個可填的格子。兩格也好,三格也好,排除的方式都一樣。
解題時怎麼發現行列區塊摒除
行列區塊摒除比指向數對難發現,因為要檢查的是一條九格長的線,而不是一個緊湊的宮。有完整的筆記 (英文)會好找很多。按下面的順序找:
- 選一橫列或一直行,再選一個數字。 先從空格少的線開始。例題裡的第 7 橫列只有三個空格。
- 數一數這個數字能填幾格。 如果它在這條線上有兩個或三個可填的格子,就繼續往下看。有四格或更多時,它們不可能都在同一個宮裡。
- 檢查是否同宮。 如果這些格子都在同一個宮裡,你就找到了這個結構。
- 排除候選數。 把這個數字從這個宮在線外的所有格子中排除。
- 回頭再找唯一數。 先看剛剛少了一個候選數的那些格子,其中可能有一格只剩下一個候選數了。
一個快速判斷法
一橫列或一直行會穿過三個宮。如果其中兩個宮裡已經填了這個數字,這條線的這個數字就一定在第三個宮裡。這就是一個行列區塊摒除。
常見錯誤
- 排除的位置不對。 行列區塊摒除排除的是宮裡的候選數,不是線上的。如果你去排除線上的,那是把指向數對的規則用在了一個並不是指向數對的結構上。
- 漏看宮外的格子。 如果這個數字在這條線上還能填在另一個宮的某個格子裡,行列區塊摒除就不成立,什麼都不能排除。
- 排除了結構本身的格子。 線與宮交會處的格子要保留這個數字。只有宮裡的其他格子才會失去它。
- 筆記不完整。 線上少記一個候選數,就可能讓一個並不存在的結構看起來成立。
在 Dojo 裡練習行列區塊摒除
Sudoku Royale 的 Dojo 為這項技巧準備了簡短的課程和特訓:一盤接一盤,下一步正是用到它。你的紀錄是連續答對的最快一次,還能和其他玩家比一比。在 iPhone 上開啟行列區塊摒除特訓,或閱讀Dojo 怎麼玩 (英文)。
免費下載 Sudoku Royale(iOS)什麼時候用行列區塊摒除,接下來學什麼
簡單的題目一般用不到行列區塊摒除。做中等和困難的題目時,找不到唯一數,指向數對也幫不上忙了,就去找它。它的邏輯很簡單,所以一定要排在X翼(X-Wing)這類進階技巧之前先試。
每排除一次候選數,都回頭再找一遍唯一數。然後去學顯性數對(Naked Pair)和隱性數對(Hidden Pair),它們處理的是兩個格子裡的兩個數字。想知道每個技巧處在什麼位置,可以看數獨技巧完整列表 (英文)。
常見問題
數獨裡的行列區塊摒除是什麼?
行列區塊摒除是一個排除候選數的技巧。如果一橫列或一直行裡能填某個數字的格子都在同一個宮裡,就可以把這個數字從這個宮的其他格子中全部排除。
Claiming 和 Box-Line Reduction 是同一個技巧嗎?
是的。Claiming 和 Box-Line Reduction 是同一個技巧的兩個英文名稱,中文叫行列區塊摒除,也有人簡稱行列區塊。它也是區塊摒除法的第二型(Locked Candidates Type 2)。
行列區塊摒除和指向數對有什麼差別?
方向不同。指向數對從宮出發,在橫列或直行上排除候選數。行列區塊摒除從橫列或直行出發,在宮裡排除候選數。
區塊摒除法是什麼?
區塊摒除法(Locked Candidates)是指向數對和行列區塊摒除的合稱。指向數對是第一型,行列區塊摒除是第二型。兩者都是把一個數字鎖在宮與線交會的格子裡。
什麼時候該找行列區塊摒除?
做中等和困難的題目時,找不到唯一候選數和隱性唯一數了就去找。先找指向數對和行列區塊摒除,再考慮X翼這類進階技巧,因為它們更簡單,也更快找到。