grid_on

Sudoku Clean 素数独

技巧文档 / 唯一矩形(UR)

唯一矩形(UR)

前置知识:唯一矩形依赖“题目只有唯一解”。如果你还没看过“唯一解”的说明,建议先从这里开始: 唯一解

进阶

唯一矩形(UR)

前置知识:唯一矩形依赖“题目只有唯一解”。如果你还没看过“唯一解”的说明,建议先从这里开始:
唯一解


1. 描述

唯一矩形(Unique Rectangle,简称 UR)是一类利用“唯一解”来删数或出数的技巧。

它关注的是一个很典型的“危险形状”:

  • 四个格子组成一个 2×2 的矩形(两行 × 两列,且只落在两个宫里)
  • 这四个格子里,都同时包含同一对候选数字(比如 1 和 7)

如果我们放任这四格只剩这对数字,就可能出现“两种都能填得通”的情况(例如 1/7 对调),从而破坏唯一解
所以在唯一解的前提下,我们就能反过来推出:某些候选必须删除,甚至某个格子必须出数。


2. 详解

下面的 5 张图分别对应 UR 的 5 种常见类型(应用内提示也会写成 I~V)。
阅读时你只需要跟着颜色看:

  • 蓝色格子:UR 的矩形四角(核心结构)
  • 黄色标注:推理时特别关注的候选
  • 红色标注:可以删掉的候选 / 或者可以直接出数的位置

为了方便描述,本文把矩形中“除了核心对 {a,b} 之外还多出候选”的角称为扩展格(也就是这个角“扩展”出了额外候选)。

类型 I:单扩展格出数(直接确定一个格子)

唯一矩形 I

先看图里的 4 个蓝色格子:它们构成一个矩形,并且都包含候选数字 17
其中 r5c7 除了 1 和 7,还多了一个候选 2

关键在于:如果 r5c7 的 2 不成立,那 r5c7 就只剩 1 和 7。
这样一来,四个蓝色格子就都只剩 1 和 7——矩形就可能出现两种都能填得通的结果(1/7 对调),从而破坏唯一解。

所以在唯一解前提下,我们只能得出结论:

  • r5c7 不能再保留 1 和 7
  • 因此 r5c7 只能填 2

类型 II:双扩展格删数(删掉“同时看见两个扩展格”的 c)

唯一矩形 II

这张图里,4 个蓝色格子仍然构成一个矩形,核心候选是 34
同时你会看到 r8c2r8c3 这两个蓝色格子里还额外包含候选 6(也就是 3、4、6)。

如果我们假设某个红色格子(例如 r8c5r9c3)里的候选 6 为真,会发生什么?

  • 因为红色格子能“同时看见” r8c2 和 r8c3
    ⇒ r8c2 和 r8c3 就都不能是 6
    ⇒ 它们会退化成只剩 3 和 4
  • 这样 4 个蓝色格子就又回到了“只剩 3 和 4”的致命结构
    ⇒ 破坏唯一解

所以结论是:红色格子里的候选 6 不可能为真,可以删除。


类型 III:把两个扩展格当作一个“整体”,与其它格子组成数组

唯一矩形 III

这张图我们重点看 第 8 列

  • 第 8 列里有两个蓝色格子:它们都包含候选 15
  • 但这两格还多了 4、6、9 这三个数字(也就是 1、5、4、6、9)

请注意一个很关键的“唯一解约束”:

  • 这两格里至少有一格必须使用 4、6、9 里的某一个
  • 否则它们俩都只用 1/5,就会让矩形变成致命结构(破坏唯一解)

所以我们可以把“这两个蓝色格子里多出来的 4、6、9”看成一个整体。
再看同一列里上方的黄色格子 r1c8、r2c8

这四个位置合在一起,就相当于在第 8 列里形成了一个“显性三数组”——数字 4、6、9 必须被限制在这几格里。
因此,第 8 列里其它格子的 4、6、9 都可以删除(图中标红的候选)。


类型 IV:共轭对逼迫扩展格,删掉另一数字

唯一矩形 IV

这张图里,蓝色矩形的核心候选依然是一对数字(这里是 78)。

我们观察 第 4 行
候选数字 7 在这一行里,刚好只出现在两个蓝色格子 r4c4、r4c5 中。
这意味着:

  • r4c4 和 r4c5 中必然有一个是 7

在这种约束下,如果我们还允许 r4c4 / r4c5 保留候选 8,就会让这个矩形仍然有机会退化成“致命结构”(破坏唯一解)。

所以这里可以把 r4c4、r4c5 中的候选 8 删除掉


类型 V:扩展格删数(删掉“同时看见所有扩展格”的 c)

唯一矩形 V

类型 V 的关键不是“必须有三个扩展格”,而是:

  • 这个矩形里有 2 或 3 个扩展格,它们都包含同一个额外候选 c
  • 如果只有 2 个扩展格,它们通常不在同一行/列/宫(若在同一行/列/宫,更接近类型 II)
  • 只要棋盘上某个格子的候选 c 能同时看见这些扩展格,就可以删除

这张图里,4 个蓝色格子构成矩形,它们的候选主要是 2、6、9
其中有 3 个蓝色格子都是 2、6、9,剩下 1 个蓝色格子是 2、9(少了 6),所以这张图属于“三扩展格”的情况。

请看红色格子 r8c7:它里面有候选 6,并且它能同时看见那 3 个 “2、6、9” 的蓝色格子。

如果假设 r8c7 的 6 为真

  • 那 3 个蓝色格子就都不能再是 6
    ⇒ 它们会全部退化成只剩 2 和 9
  • 这样 4 个蓝色格子就会变成“只剩 2 和 9”的致命结构
    ⇒ 破坏唯一解

所以结论很直接:r8c7 里的候选 6 不可能成立,可以删除。


3. 例子

本文的 1~5 图,已经分别对应了类型 I~V。
你可以在练习时多对照几次:先找蓝色矩形,再看黄色/红色提示的位置,就会越来越顺手。


4. 如何寻找唯一矩形?

在实战里,你可以按这个顺序去找:

  1. 先在棋盘上找“像矩形四角”的 4 个空格(两行 × 两列),并且只落在两个宫里
  2. 看这 4 个格子里,是否都包含同一对核心候选(比如 1 和 7)
  3. 再看它们额外候选的分布,通常就能对上某一种类型:
    • 只有 1 个角多出别的候选 ⇒ 类型 I(常常能直接出数)
    • 有 2 个角都多出同一个候选 c ⇒ 类型 II
    • 某一行/列里,扩展格的“额外候选”能和别的格子凑成数组 ⇒ 类型 III
    • 在某个行/列/宫里,其中一个核心数字只剩两处,而且刚好在矩形里 ⇒ 类型 IV
    • 有 2~3 个角都多出同一个候选 c(2 个时通常不在同一行/列/宫)⇒ 类型 V

这就是唯一矩形:它的核心思路永远只有一句话——不能让矩形退化成“致命结构”,否则会破坏唯一解。