矩形排除法只针对单个数字,借助一个宫的形状去影响离它很远的某个格。它得名于使它成立的四格空矩形,通常能杀掉一个候选数,而且往往正是让盘面松动的那一个。
选一个数字,看一个宫。如果这个数字在宫内所有剩余的位置,都落在宫的一行加一列上(一个十字),那么这两条线之外的四个格里就没有它。这四个格就是空矩形。所选的行和列交叉的格是枢纽格。
枢纽格给你一个保证:这个数字无论落在这个宫的哪里,它都在枢纽格所在的行上或所在的列上,不在其中一条上就必在另一条上。
现在在别处加上同一数字的一条强链:一个区域,里面这个数字恰好只剩两个位置。把链的一端放在枢纽格所在的行上、宫的外面。另一端落在它自己的某条线上,这条线与枢纽格所在的列相交的地方,就是目标格。
如果目标格里是这个数字,它就会清空宫内枢纽格所在的列,迫使数字落在宫内枢纽格所在的行上。这就杀掉了强链的近端,所以远端必须放这个数字,而远端能看到目标格。出现矛盾,所以目标格失去这个候选数。
| 链与枢纽格所在的行相交 | 链与枢纽格所在的列相交 | |
|---|---|---|
| 链的近端 | 在枢纽格所在的行上、宫的外面 | 在枢纽格所在的列上、宫的外面 |
| 远端 | 在它自己的某一行上 | 在它自己的某一列上 |
| 目标格 | 那一行与枢纽格所在的列的交叉处 | 那一列与枢纽格所在的行的交叉处 |
只看数字 5。玩家和软件也把这个图形叫作空矩形(Empty Rectangle):它像一条两环的链,其中一端是整个宫。
从第 8 宫,也就是下方中间的宫开始。它里面的 5 只能放在三个格:G4、G6 和 H5。
现在找十字。G4 和 G6 在行 G,H5 在第 5 列,所以三个格都在行 G 或第 5 列上。这两条线交叉于 G5,也就是枢纽格(它已经填了 9)。H4、H6、J4 和 J6 里没有 5,这就是空矩形。
十字在宫内给出一条链。G4 和 G6 算作一组,因为它们共享行 G,其中任何一个是 5 的效果都相同。如果两个都不是 5,第 8 宫就必须把它的 5 放在 H5。这是 G4 + G6 这一组与 H5 之间的强链。
接着,在第 5 列上找第二条链。H5 沿第 5 列看到 E5,这是一条弱链:它们不能同时是 5。行 E 里 5 只有两个格,E5 和 E9,这是一条强链。
把它们连起来:如果 G4 和 G6 不是 5,那么 H5 是 5,所以 E5 不是,于是 E9 是。无论哪种情况,G4、G6 或 E9 总有一个是 5。目标格是 G9:它沿行 G 看到 G4 和 G6,沿第 9 列看到 E9。三个格中无论哪个放了 5,G9 都不能放。
结果只有一处变化:从 G9 中删除 5。
矩形排除法属于进阶技巧,是链接管之前最后一个单数字图形。你会在困难经典数独里用到它,在那里它常常给出让停滞盘面重新启动的那一次排除。