重點
  • 每個空格最初都有最多9個候選數;你的目標是排除到只剩一個
  • 最簡單的排除:一個數字若已存在於共享的行、列或宮中,則該數字不能作為候選數
  • 裸子集和隱藏子集可同時排除一組儲存格中的候選數
  • 鎖定候選數根據宮的限制排除整行或整列中的一個數字
  • 更多排除 = 更少候選數 = 更多強制儲存格 = 更快解題

第1級:直接排除

最基本的排除:如果數字5已經出現在第3行,則5不能作為第3行中任何其他空格的有效候選數。將此應用於所有三種單位類型(行、列、宮)中的每個給定數字,你就掌握了所有數獨解題的基礎。

直接排除後,任何只剩一個候選數的儲存格就是裸單——立即填入該數字,並將其排除傳播到同區儲存格。

第2級:交叉掃描

選擇一個數字。對於每個宮,使用已經包含該數字的行和列來排除宮內的儲存格。如果宮內只剩一個儲存格,那就是一個填入。如果該數字被限制在宮內的一行或一列,那就是一個鎖定候選數——該數字不能出現在該行或該列的其他地方。

第3級:裸子集

當一個單位中的N個儲存格之間恰好共享N個候選數時,這些N個候選數不能出現在該單位的任何其他儲存格中。常見範例:

  • 裸對:兩個儲存格有相同的兩個候選數——從該單位的其餘儲存格中排除這兩個候選數
  • 裸三:三個儲存格共享三個候選數——從該單位的其餘儲存格中排除這三個候選數

第4級:隱藏子集

當一個單位中的N個候選數只能出現在N個儲存格中時,這些儲存格不能包含任何其他候選數。與裸子集的區別:你關注的是候選數可以出現在哪裡,而不是儲存格有哪些候選數。

  • 隱藏單一:一個候選數被限制在單位中的一個儲存格——立即填入
  • 隱藏對:兩個候選數被限制在兩個儲存格——從這兩個儲存格中移除所有其他候選數

第5級:交集排除

當宮中的一個候選數被限制在一行或一列時,它可以從該行或該列在宮外的其餘部分被排除。這在兩個方向都有效:如果行中的一個候選數被限制在一個宮中,它可以從該宮的其餘部分被排除。

建立習慣

快速準確解題的關鍵是系統性地應用這些排除,而不是隨機進行。一個好的工作流程:填入鉛筆標記 → 應用裸單 → 應用隱藏單一 → 檢查鎖定候選數 → 尋找對子 → 重複。完整技巧庫包含每個等級的實際範例。在一個需要所有五個等級的即時困難謎題中練習。