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 都不可能成立,可以删除

小结

你可以把区块排除记成两句话(不用背术语):

  • 看行/列:如果某个数字在这一行/列里只“落在同一个宫”,那就删掉这个宫里(该行/列之外)的同数字候选。
  • 看宫:如果某个数字在这个宫里只“落在同一行/列”,那就删掉这行/列里(宫之外)的同数字候选。