解題技巧

數獨區塊排除法詳解:利用宮與行列的交集關係

2025-01-24 · 7 分鐘閱讀
知識庫 / 技巧目錄 / Box/Line Reduction

區塊排除法(英文稱 Box-Line Reduction,也叫 Pointing & Claiming)是數獨中級技巧中非常實用的方法。這個技巧利用了宮(3×3區域)與行列的交集關係來排除候選數,分為兩種類型:Pointing(指向)Claiming(佔據)

核心原理:
數獨中的每個宮都與三行和三列相交。如果某個候選數在宮內只出現在同一行(或同一列)上,那麼該數字在這行(或這列)的其他宮中就不能出現。反過來,如果某個候選數在行(或列)中只出現在某一宮內,那麼該宮的其他位置也不能出現這個數字。

在閱讀本文前,建議先了解數獨行列宮的命名規則,這將幫助你理解下面的分析示例。

類型一:Pointing(指向排除)

Pointing是指:當某個候選數在某宮內只出現在同一行或同一列時,可以從該行/列的其他宮中排除這個候選數。

Pointing 規則

如果某個候選數在某宮內只出現在同一行(或列)上,
那麼該候選數在這一行(或列)的其他宮中都可以刪除。

Pointing原理示意圖
Pointing原理:宮內候選數集中在一行,「指向」其他宮進行排除

我們來看一個實例:

數獨Pointing示例
圖1:第8宮的候選數3只出現在第8行,可從第8行的第9宮刪除候選數3
在計算器中開啟此例

當前盤面資料

根據CSV81格式的候選數資料,我們關注第8宮(R7-R9, C4-C6)和第8行

第8宮內各格子:

  • R7C4:已填數字 7
  • R7C5:已填數字 9
  • R7C6:已填數字 6
  • R8C4:已填數字 5
  • R8C5:候選數 {1, 2, 3, 4}
  • R8C6:候選數 {1, 2, 3, 4}
  • R9C4:候選數 {1, 2}
  • R9C5:已填數字 8
  • R9C6:候選數 {1, 2}

第8行中第9宮的格子(R8C7-R8C9):

  • R8C7:候選數 {3, 6, 8, 9}
  • R8C8:候選數 {1, 2, 3, 6, 9}
  • R8C9:候選數 {1, 2, 3, 9}

分析過程

1 觀察宮內分佈:檢查第8宮(R7-R9, C4-C6),候選數 3 只出現在 R8C5R8C6,這兩個格子都在第8行
2 理解原理:因為第8宮的數字3必須填在第8行的某個位置(R8C5或R8C6),所以第8行在其他宮的位置都不能填3(否則第8宮就無處填3了)。
3 執行排除:從第8行中不在第8宮的格子裡,刪除候選數 3。具體是第9宮在第8行的格子:
  • R8C7:刪除候選數 3(保留6,8,9)
  • R8C8:刪除候選數 3(保留1,2,6,9)
  • R8C9:刪除候選數 3(保留1,2,9)
結論:
Pointing:在第8宮中,候選數 3 只在 R8C5R8C6(都在第8行)。
操作:從 R8C7R8C8R8C9 刪除候選數 3

類型二:Claiming(佔據排除)

Claiming是 Pointing 的反向應用:當某個候選數在某行或某列中只出現在某一宮內時,可以從該宮的其他行/列中排除這個候選數。

Claiming 規則

如果某個候選數在某行(或列)中只出現在某一宮內,
那麼該候選數在這個宮的其他行(或列)都可以刪除。

Claiming原理示意圖
Claiming原理:列中候選數集中在一宮,「佔據」該宮進行排除

我們來看另一個實例:

數獨Claiming示例
圖2:第4列的候選數4只出現在第5宮,可從第5宮的其他列刪除候選數4
在計算器中開啟此例

當前盤面資料

根據CSV81格式的候選數資料,我們關注第4列第5宮(R4-R6, C4-C6):

第4列各格子:

  • R1C4:已填數字 8
  • R2C4:已填數字 6
  • R3C4:已填數字 3
  • R4C4:候選數 {1, 2, 4, 9}
  • R5C4:候選數 {4, 9}
  • R6C4:候選數 {2, 4, 9}
  • R7C4:已填數字 7
  • R8C4:已填數字 5
  • R9C4:候選數 {1, 2}

第5宮內需要檢查的格子:

  • R4C5:候選數 {1, 2, 3, 4}
  • R4C6:已填數字 8
  • R5C5:已填數字 6
  • R5C6:已填數字 7
  • R6C5:已填數字 5
  • R6C6:候選數 {2, 3, 4}

分析過程

1 觀察列內分佈:檢查第4列,候選數 4 只出現在 R4C4R5C4R6C4,這三個格子都在第5宮內。
2 理解原理:因為第4列的數字4必須填在第5宮內的某個位置,所以第5宮在其他列的位置都不能填4(否則第4列就無處填4了)。
3 執行排除:從第5宮中不在第4列的格子裡,刪除候選數 4。具體是:
  • R4C5:刪除候選數 4(保留1,2,3)
  • R6C6:刪除候選數 4(保留2,3)
結論:
Claiming:在第4列中,候選數 4 只在 R4C4R5C4R6C4(都在第5宮)。
操作:從 R4C5R6C6 刪除候選數 4

Pointing vs Claiming 對比

這兩種類型本質上是同一原理的不同視角:

對比項 Pointing(指向) Claiming(佔據)
觀察起點 出發觀察 行/列出發觀察
發現條件 候選數在宮內只在同一行/列 候選數在行/列中只在同一宮內
排除範圍 該行/列的其他宮 該宮的其他行/列
形象比喻 宮內的候選數「指向」某行/列 行/列「佔據」了宮內的位置
記憶技巧:
  • Pointing(指向):宮 → 行/列,想像宮裡的候選數「指向」外面的行列
  • Claiming(佔據):行/列 → 宮,想像行列「佔據」了宮內的空間

實戰應用步驟

在解題時,可以按照以下步驟尋找區塊排除機會:

  1. 標記候選數:確保已經標記好所有格子的候選數
  2. 檢查每個宮:逐個宮檢查,看是否有候選數只集中在同一行或同一列
  3. 檢查每行每列:逐行逐列檢查,看是否有候選數只集中在同一宮內
  4. 執行排除:找到符合條件的,立即執行候選數刪除
  5. 連鎖效應:排除後可能產生新的唯餘法或排除法機會,繼續推進
常見錯誤:
  • 混淆排除方向:Pointing是從宮排除到行列,Claiming是從行列排除到宮
  • 排除範圍錯誤:只能排除不在交集區域的格子
  • 忽略候選數:必須確保候選數標記準確,否則可能遺漏機會

技巧總結

區塊排除法的核心要點:

  • 利用交集:巧妙利用宮與行列的交集關係進行排除
  • 雙向觀察:既要從宮的角度看行列,也要從行列的角度看宮
  • 集中原則:候選數必須「集中」在交集區域才能應用此技巧
  • 及時排除:發現機會立即執行,不要積累太多步驟
為什麼重要?
區塊排除法是連接入門技巧和高級技巧的橋樑。掌握這個技巧後,你會發現很多「卡住」的題目都能通過宮線交互找到突破口。它也是理解更高級技巧(如X-Wing)的基礎。

練習建議

要熟練運用區塊排除法,建議:

  • 解題時系統地檢查每個宮與行列的關係,不要憑感覺跳過
  • 使用不同顏色標記候選數,幫助視覺識別集中區域
  • 遇到中等難度題目時,先用入門技巧,再主動尋找區塊排除機會
  • 理解原理比記住術語更重要,明白「為什麼能排除」
立即練習:
開始一局中等難度的數獨遊戲,專門尋找和應用區塊排除法!