重點
- 每個空格最初有最多9個候選數字;目標是刪除所有候選數字,只保留一個。
- 最簡單的刪除:一個數字如果已經存在於同一行、列或宮中,則它會從其他格子的候選數字中刪除。
- 裸子集和隱藏子集同時在多個格子中刪除候選數字。
- 鎖定候選數字根據宮的約束從整行或整列中刪除一個數字。
- 更多刪除 = 更少候選數字 = 更多強制格子 = 更快解題。
第1級:直接刪除
最基本的刪除:如果數字5已經出現在第3行,那麼5就不是第3行中任何其他空格的有效候選數字。將此應用於所有三種單位類型(行、列、宮)中的每個給定數字,你就掌握了所有數獨解題的基礎。
直接刪除後,任何只有一個候選數字剩下的格子就是裸單——立即填入並將其刪除傳播到其同行、同列及同宮。
第2級:交叉掃描
選擇一個數字。對於每個宮,使用已經包含該數字的行和列來刪除宮內的格子。如果宮內只剩下一個格子,那就是一個填入。如果該數字在宮內僅限於一行或一列,那就是一個鎖定候選數字——該數字不能出現在該行或列的其他地方。
第3級:裸子集
當一個單位中的N個格子之間恰好共享N個候選數字時,這些N個候選數字不能出現在該單位的任何其他格子中。常見例子:
- 裸對:兩個格子有相同的兩個候選數字——從該單位的其餘格子中刪除這兩個候選數字。
- 裸三:三個格子共享三個候選數字——從該單位的其餘格子中刪除這三個候選數字。
第4級:隱藏子集
當一個單位中的N個候選數字只能放在N個格子中時,這些格子不能有任何其他候選數字。與裸子集的區別:你關注的是候選數字可以放在哪裡,而不是格子有哪些候選數字。
- 隱藏單一:一個候選數字在一個單位中僅限於一個格子——立即填入
- 隱藏對:兩個候選數字僅限於兩個格子——從這兩個格子中刪除所有其他候選數字。
第5級:交集刪除
當一個宮中的候選數字僅限於一行或一列時,它可以從該行或列在宮外的其餘部分中刪除。這在兩個方向上都有效:如果一行中的候選數字僅限於一個宮,則可以從該宮的其餘部分中刪除它。
建立習慣
快速準確解題的關鍵是系統地應用這些刪除方法,而不是隨機應用。一個好的工作流程:填入鉛筆標記 → 應用裸單 → 應用隱藏單一 → 檢查鎖定候選數字 → 尋找對子 → 重複。完整技巧庫包含每個級別的實例。在一個通常需要所有五個級別的困難謎題中練習。