Sudoku 取得應用程式

數獨技巧 · 極限

數獨中的BUG+1

BUG+1是雙值通殺加一的簡稱,屬於唯一性論證。如果每個未解的格子都恰好只剩兩個候選數,且每個數字在每個組裡都恰好出現兩次,棋盤就會有兩個解,而一道合法的題目永遠不會這樣。所以當棋盤除了一個帶三個候選數的格子之外都達到這種狀態時,破壞這個規律的那個候選數就必定是答案。

原理

在具有唯一解的題目中,假設除了一格有三個候選數外,每個未解格都只有兩個候選數。如果從該格移除某個候選數後,每個數字在每一列、每一欄和每一宮中作為候選數出現的次數都變成零次或兩次,那麼該候選數必定為真。否則,任何解答都能將每個未解格換成另一個候選數,得到互為鏡像的另一個解答。

怎麼找到它

這不是主動去找的技巧,而是在一道難題快解完、棋盤變得幾乎全是雙值格時才注意到的。

  • 檢查是否每個未解的格子都恰好只剩兩個候選數,只有一個例外帶三個。
  • 在這個格子裡,找出在它所在的列、欄和宮裡出現次數為奇數的那個候選數,那就是答案。
  • 和唯一矩形一樣,這個結論只是因為題目保證只有一個解才成立,並不是單靠棋盤本身的純邏輯。

需要先學

實例

這些是應用程式自帶的課程棋盤,可以像提示一樣一步步看下去。

模式答案關聯阻擋排除
Step 1 of 2
BUG+1: the pattern as the app draws it during a hint.
  1. 1

    盤面上剩餘的每個未解格都是雙值格,也就是剛好有兩個候選數。唯一的例外是醒目標示的格子,它有三個候選數:2、4、6。

  2. 2

    現在看看醒目標示格子所在的列、欄和宮:候選數 6 在每個區域中都出現三次,其他候選數若有出現,則都剛好出現兩次。如果這個格子不是 6,那麼所有候選數在各處都會剛好出現兩次,形成一個可用兩種不同方式完成的致命模式。這道題只有唯一解,所以這裡必須填入 6,並且可以刪除 2 和 4。