# 代入唯一矩形

在上一节的内容里，我们简要地提到了利用强制链的类似思维去证明某个数矛盾，进而删除原本假设填数的逻辑。实际上这样的唯一矩形用法非常繁多，所以本文将衔接这个内容单独讲解一下唯一矩形的这种用法。

## 什么是代入唯一矩形？ <a href="#what-is-a-unique-rectangle-plus-n" id="what-is-a-unique-rectangle-plus-n"></a>

我们先来看一个例子。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2FmAKgicuOFigE7WTaaNas%2Fimage.png?alt=media&#x26;token=b139d82c-dfa1-48cc-9c0b-e5b9012f47d0" alt="" width="375"><figcaption><p>唯一矩形 + 2B/1SL</p></figcaption></figure>

如图所示。我们尝试假设 `r1c9 = 7`，因为右下角 `r3c9` 是双值格，而 `r3c5` 也是双值格，于是 `r3c9` 和 `r3c5` 会分别填上 4 和 7。接着，因为 `c5` 存在关于 4 的共轭对，所以 4 必须填入一个；刚才我们得到 `r3c5 = 7` 了，所以只好让 `r1c5 = 4`。

但是，这么填入了之后会发现，四个单元格只填了 4 和 7，于是构成了唯一矩形的矛盾形态。所以，最初的假设 `r1c9 = 7` 是不合理的。所以这个题的结论就是 `r1c9 <> 7`。

我们把这种需要先假设后按结构绕一圈填数最终得到矛盾的唯一矩形类型统称为**代入唯一矩形**（Unique Rectangle + $$n$$，简称 UR + $$n$$）。显然，统称意味着这个结构的不简单。下面我们带着大家看看这种唯一矩形都有哪些情况。

> 顺带一提。这种唯一矩形的英文名和全双值格致死解法的一个类型的名称类似，也用的是“+ $$n$$”来表示，但是在唯一矩形里，$$n$$ 更多指代的是单元格的数量，即唯一矩形四个单元格里有多少个单元格除了含有除了唯一矩形的数字以外的别的数字。比如这个例子里，`r1c59` 都含有非 4 和 7 的数字，所以这个结构称为“唯一矩形 + 2”，英文名则为 Unique Rectangle +  2。至于图片下方给的名称，这个分类我们将放在本文的末尾，因为分类实在过于复杂，所以这里我单说也说不清楚。
>
> 另外，很显然，代入唯一矩形的初始状态就必须是 + 2 的形态，因为 + 1 对应的只有一种类型，即唯一矩形的类型 1（标准类型）；而那个类型又不需要这么看。

## 唯一矩形 + 2 <a href="#unique-rectangle-plus-2" id="unique-rectangle-plus-2"></a>

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2FJJl8tXWUo12c1DTdVQpP%2Fimage.png?alt=media&#x26;token=b0fe634d-89e8-4445-a826-0efb0ae2aea8" alt="" width="375"><figcaption><p>UR + 2B/1SL，另外一个例子</p></figcaption></figure>

如图所示。这个例子和刚才完全一样，就不解释了。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2FHX2q4QUC1ummE2yn3UBS%2Fimage.png?alt=media&#x26;token=813ca0a0-e6a8-48bb-a705-af1c9575a561" alt="" width="375"><figcaption><p>UR + 2D/1SL</p></figcaption></figure>

如图所示。这个例子和刚才的稍微有点不一样，但是万变不离其宗。假设方式也差不多。

假设 `r9c2 = 9`，则右侧的单元格 `r9c4 = 3`，上方的单元格 `r7c2 = 9`，因为他们都是双值格。

然后，因为 `r7` 上有关于 9 的共轭对，所以 `r7c2 = 3` 了，只好让此时 `r7c4 = 9` 了。但是这么填完四个单元格后会发现，里面只填了数字 3 和 9，于是四个单元格就矛盾了。

这次也是唯一矩形 + 2，只是双值格的位置从同一侧变为了对角线两个单元格上，别的完全没怎么变，假设还是那种假设。

## 唯一矩形 + 3 <a href="#unique-rectangle-plus-3" id="unique-rectangle-plus-3"></a>

只有两个单元格包含额外数字的情况就全部说完了（本来也就这两种）。下面我们来看一下有 3 个单元格带有非唯一矩形使用的数字的情况。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2FdWqqnO45KCgFME1i7J9u%2Fimage.png?alt=media&#x26;token=acc13cb5-8392-4d14-a631-ec5580c8248d" alt="" width="375"><figcaption><p>UR + 3N/2SL</p></figcaption></figure>

如图所示。这次我们要用两组共轭对。

假设 `r1c2 = 3`，则由于 `r3` 存在关于 3 的共轭对，而 `r3c2` 是双值格的关系，此时可以直接得到 `r3c2 = 5` 和 `r3c4 = 3` 的结论。

刚好，`c4` 有 5 的共轭对，思路直接串起来，我们又可以得到 `r1c4 = 5` 的结论。于是，四个单元格就只有 3 和 5 了，于是四个单元格构成了矛盾。

所以，`r1c2 <> 3` 是这个题的结论。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2Fy5tzumwYjf1RWOypSA9t%2Fimage.png?alt=media&#x26;token=69a687ee-c9a8-4ca2-8113-cb43c7495aa4" alt="" width="375"><figcaption><p>UR + 3U/2SL</p></figcaption></figure>

如图所示。假设 `r8c7 = 3`，则因为 5 的共轭对可得 `r7c7 = 5`。而与此同时，因为 `r8c7 = 3`，左侧有个双值格也可以得到 `r7c3 = 5` 的结论。不过，此时由于 `c3` 有 3 的共轭对，所以 `r7c3 = 3` 又可以得到。此时形成了矛盾。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2FuM13QxCwjp0YFrDWRcHt%2Fimage.png?alt=media&#x26;token=a3f67ae6-97f4-45bd-ac40-2f6d47ffb29c" alt="" width="375"><figcaption><p>UR + 3X/2SL</p></figcaption></figure>

如图所示。这次可以连删两个数字，不过因为删数逻辑是对称的，所以说一个就行。

假设 `r5c7 = 5`，则因为 `c7` 的共轭对可得 `r6c7 = 7`；与此同时，`r5c4 = 7`。然后因为 `r6` 又有共轭对，直接串联起来，可以得到 `r6c4 = 5` 的结论，此时形成矛盾。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2FKfed1aWSovXqnnsi425L%2Fimage.png?alt=media&#x26;token=7d09e8cd-9801-46b7-9978-f735d28d55fc" alt="" width="375"><figcaption><p>UR + 3E/2SL</p></figcaption></figure>

如图所示。如果 `r1c8 = 9` 的话，则由于 `r1` 的共轭对的关系，`r1c3 = 1`。然后，因为下方的双值格的原因，`r3c3 = 9`。然后，又是 1 的共轭对，可以得到 `r3c8 = 1`，于是形成矛盾。

## 唯一矩形 + 4 <a href="#unique-rectangle-plus-4" id="unique-rectangle-plus-4"></a>

下面来看一个坑爹一点的，四个格子全都含有额外的数字。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2FOlSqh6sAuEug5FGxyhy1%2Fimage.png?alt=media&#x26;token=b8df4090-ef53-44c0-b3f6-c645ce2de3f2" alt="" width="375"><figcaption><p>UR + 4C/3SL</p></figcaption></figure>

如图所示。假设 `r2c5 = 7` 的话，则可以得到 `r2c4 = 8` 和 `r9c5 = 8` 的结论，因为这个单元格派生出了两个共轭对。

接着，因为 `r9` 包含 7 的共轭对，于是又可以得到 `r9c4 = 7`，于是形成矛盾。

## 唯一矩形 + 3 + 数组 <a href="#unique-rectangle-plus-3-plus-subset" id="unique-rectangle-plus-3-plus-subset"></a>

前面的例子我们都可以理解为纯正的若干共轭对的类型，他们非常像是之前早在唯一矩形里介绍过的类型 4、6 和隐性唯一矩形，只是把他结构推广了一下之后用了代入的视角。

不过，有没有想过，要想得出矛盾，那么共轭对和单元格的数量就一定有一个“减 1”的关系：要想矛盾，那么 $$n$$ 个共轭对可适用于 $$n + 1$$ 个包含其他非唯一矩形使用数字的单元格。比如刚才的 UR + 4 需要依赖 3 个共轭对；UR + 3 需要依赖于 2 个共轭对，之类的。

那么，如果无法找到适合数量的共轭对，比如 UR + 4 但只有 1、2 个共轭对的话，怎么办呢？我们也有办法。下面我们来看一下 UR + 3、UR + 4 里带有数组的情况。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2Fx7AuheYdQFVJV0EV5pZT%2Fimage.png?alt=media&#x26;token=3bccdd4b-af98-4063-a40e-0fca14567f98" alt="" width="375"><figcaption><p>UR + 3x/1SL</p></figcaption></figure>

如图所示。如果 `r1c9 = 4` 的话，显然因为 `r1` 的共轭对可以得到 `r1c8 = 8`，以及 `r9c9` 双值格导致的 `r9c9 = 8`。不过这样之后好像我们就无法继续了，因为共轭对数量不够，所以我们无法得到 `r9c8 = 4` 引起的矛盾。

不过，双值格 `r2c8` 帮了我们忙。因为 `r29c8` 只有 4、7、8，而 `r1c8 = 8`（此时），所以 `r29c8` 此时相当于是没有 8 的状态的，也就是只有 4 和 7。但是，别忘了 `r2c8` 同时还和 `r1c9` 同一个宫。这两个单元格一个 4 一个 8 就会使得 `r2c8` 只能填 7。那么，`r9c8` 也不能填 7 了，所以 `r9c8 = 4`，然后就矛盾了。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2FuOUZVx28R5HJsydowJkF%2Fimage.png?alt=media&#x26;token=06fb8807-93e5-4fe7-a1f6-05530214d5ae" alt="" width="375"><figcaption><p>UR + 3X/1SL</p></figcaption></figure>

如图所示。这次我们将单元格推广一下，推广到两个格子。如果 `r6c8 = 9`，则同宫的 `r45c7` 只剩下 4 和 5，于是形成数组，于是 `r7c7` 就不能填 4 和 5 了，于是 `r7c7` 此时只剩下 8 和 9。配合上右边 `r7c8` 只剩下的候选数 8 和 9，搭配刚才初始假设的 `r6c8(9)` 以及共轭对造成的 `r6c7(8)`，四个单元格就构成了矛盾。

## 唯一矩形 + 4 + 数组 <a href="#unique-rectangle-plus-4-plus-subset" id="unique-rectangle-plus-4-plus-subset"></a>

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2FiJzAEHd6DDm09h0O7Qq5%2Fimage.png?alt=media&#x26;token=a3a17559-9fe9-4b42-9c08-0a298baf0888" alt="" width="375"><figcaption><p>UR + 4x/1SL</p></figcaption></figure>

如图所示。这次我们推广到四个单元格均包含额外的数字。假设 `r1c4 = 3`，则共轭对可以引起 `r6c4 = 2` 的结论。不过接下来就推不动了。

我们来看共轭对的两头。一头填的 3，另一头填的 2。填 3 的这头和 `r2c5` 同在一个宫里，而填 2 的这一头和 `r5c5` 在一个宫里，最终会造成这两个单元格一个剩下 6 和 9，一个只剩下 9，于是形成显性数对。当然，你也可以使得填 2 这一头利用 `b5` 的过程，删掉此时 `r56c5` 里的候选数 2。这样结合起来，显然我们可以得到显性三数组。总之，`r1c5` 是不能填 3、6、9 的，故它只能填 2。

然后呢？然后结合 `r1c4` 和 `r12c5` 同宫的缘故，`r2c5` 不能填 3。由于 `c5` 里，2 和 3 必须填写在图中所给定的四个格子里，而且其中 `r1c5` 被其占位的原因，3 此时只能被迫落在 `r6c5` 之中，致使结构出现 2 和 3 的矛盾情况。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2FRSLbe5olgWfZbtlaTrhV%2Fimage.png?alt=media&#x26;token=76b7c768-f528-43a7-bb7f-6d178f75be5d" alt="" width="375"><figcaption><p>UR + 4X/1SL</p></figcaption></figure>

如图所示。如果 `r8c5 = 2` 的话，则因为共轭对的关系，`r5c5 = 6` 可以得到。

接着我们来看 `r79c6`。这两个单元格因为都和 `r8c5` 同在一个宫，所以显然他们都不能填 2，于是结合 `r5c5 = 6` 的结论，我们可以快速得到 `r579c6` 构成关于 1、2、7 的显性三数组。这一形成不要紧，随着 `r8c5` 填 2 的思路下去，此时 `c6` 只能把 2 填在 `r5c6` 之中；然后呢？然后 6 就没位置放了，只能放 `r8c6` 里，然后就矛盾了。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2FTGMn3v1P7MWrTKYAOLtj%2Fimage.png?alt=media&#x26;token=2123a90c-ab7e-48f9-b108-771334709a09" alt="" width="375"><figcaption><p>UR + 4x/2SL</p></figcaption></figure>

如图所示。这次我们稍微再多用一个共轭对，减轻一些压力。

假设 `r7c4 = 7`，则我们可以得到 `r1c4` 和 `r7c6` 同时填 4 的结论。因为此时 `r4c6` 是双值格，所以只剩下蓝色数字 9，因此 `r4c6 = 9`。而刚才我们知道，`r1c4 = 4`，所以 `r1c6` 既不能填 4 也不能填 9，只好填 7。于是，四个单元格只剩下 4 和 7 的填数，于是就形成了矛盾。

是不是比刚才那个简单一些？

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2FZljmffe4NUok6yxWbwW4%2Fimage.png?alt=media&#x26;token=949813b9-57fa-4572-acae-3ea52dea325f" alt="" width="375"><figcaption><p>UR + 4X/2SL</p></figcaption></figure>

如图所示。如果 `r9c6 = 7` 的话，因为共轭对的关系，会引起 `r3c6` 和 `r9c5` 同时填 8。因为此时 `r8c5` 和 `r9c56` 两个已经填上数字的单元格同在一个宫里，所以此时 `r8c5` 只剩下 1 和 4。而 `r5c5` 又和 `r9c5`（填 8）同在一个列上，于是它又剩下 1，此时 `r58c5` 构成了关于 1 和 4 的显性数对，使得 `r3c5` 只能是 7 和 8，于是形成了只有 7 和 8 的矛盾。
