grid_on

Sudoku Clean

技巧文檔 / 區塊排除

區塊排除

區塊排除是一類非常常用的“刪候選”技巧。你可以把它理解成一句話:

入門

區塊排除

區塊排除是一類非常常用的“刪候選”技巧。你可以把它理解成一句話:

某個數字被“鎖定”在一個宮和一條線的交叉處時,另一邊的同數字候選就可以刪掉。

我們下面用 r1c1 這樣的寫法來指代格子位置:
r 是行(row),c 是列(column)。

小提示:圖中 綠色格子 是“被鎖定的位置”,紅色候選 是“這一步可以刪除的候選”。


例子 1:一條列把數字鎖進某個宮(刪宮裏的紅色候選)

先看下圖:請把注意力放在高亮的 第 4 列,以及兩個綠色格子 r8c4r9c4
你會發現:第 4 列裏,數字 6 的候選只出現在這兩個綠色格子裏。

區塊排除示例 1

這意味着:第 4 列的 6 只能填在第 8 宮裏(因為 r8c4、r9c4 都在第 8 宮)。

接下來我們再看第 8 宮裏標紅的候選 6:它們都可以刪除。
用一個反證就能看懂:

  • 假設第 8 宮裏某個紅色位置真的填了 6
  • 那麼同一個宮裏,綠色格子 r8c4、r9c4 就都不能再是 6
  • 可這樣一來,第 4 列就再也沒有地方能放 6 —— 矛盾
    ⇒ 所以第 8 宮裏這些紅色候選 6 都不可能成立,可以刪除

例子 2:一個宮把數字鎖進同一行(刪行裏的紅色候選)

先看下圖:請把注意力放在高亮的 第 2 宮,以及兩個綠色格子 r1c4r1c5
你會發現:在第 2 宮裏,數字 9 的候選只出現在這兩個綠色格子裏。

區塊排除示例 2

這表示:第 2 宮的 9 必須在 r1c4 或 r1c5 其中一個
而它們又都在第 1 行,所以第 1 行裏其它位置的紅色候選 9 都可以刪除:

  • 假設第 1 行的其它某個位置填了 9
  • 那麼同一行裏,綠色格子 r1c4、r1c5 就都不能再是 9
  • 可這樣一來,第 2 宮裏就沒有任何位置能放 9 —— 矛盾
    ⇒ 所以第 1 行其它位置的紅色候選 9 都不可能成立,可以刪除

小結

你可以把區塊排除記成兩句話(不用背術語):

  • 看行/列:如果某個數字在這一行/列裏只“落在同一個宮”,那就刪掉這個宮裏(該行/列之外)的同數字候選。
  • 看宮:如果某個數字在這個宮裏只“落在同一行/列”,那就刪掉這行/列裏(宮之外)的同數字候選。