# XY-Wing 及推广的基本推理

## XY-Wing

<figure><img src="/files/4Q50LAMsgAbtgcmFW2ym" alt="" width="375"><figcaption><p>XY-Wing</p></figcaption></figure>

如图所示。我们把注意力集中到 `r8c5` 之上。这个单元格只有两个候选数：7 和 9。我们不妨根据所填的数字进行讨论：

* 如果 `r8c5 = 7`，则同列的 `r1c5 = 1`；
* 如果 `r8c5 = 9`，则同宫的 `r9c4 = 1`。

由于 `r8c5` 必须填的是这两个的其中一个，所以 `r1c5` 和 `r9c4` 里肯定会有至少一个位置填的是 1。

这能说明什么呢？`r1c4` 和 `r9c5` 这两处单元格比较特殊。这两个单元格刚好既和 `r1c5` 同一个区域，也和 `r9c4` 同一个区域。我们倒过来看，如果说我们让 `r1c4` 或 `r9c5` 的任意一个格子填上 1，就会同时让刚才我们提到的 `r1c5` 和 `r9c4` 都无法填上 1。

但是，这显然是不行的。我们刚才才得到这两个单元格必须至少有一个 1。所以，这便出现了矛盾。所以，根据前面的两种情况的假设，我们就直接可以得到结论 `{r1c4, r9c5} <> 1`。

我们把这个推理过程称为 **XY-Wing**。

我们再来看一个例子。

<figure><img src="/files/UuvjMYpvJshm16wjZhtc" alt="" width="375"><figcaption><p>另外一个 XY-Wing</p></figcaption></figure>

这个例子和前面几乎一样，所以希望你自己推理它。

## XYZ-Wing

<figure><img src="/files/n9Doch1oCiNBwL2XVRSU" alt="" width="375"><figcaption><p>XYZ-Wing</p></figcaption></figure>

如图所示。这个技巧其实就比刚才的 XY-Wing 多了一个候选数。

和前面的方式一样，我们这次讨论的是 `r3c2` 的填数情况。

* 如果 `r3c2 = 4`，则同列的 `r7c2 = 1`；
* 如果 `r3c2 = 9`，则同行（或者说同宫）的 `r3c1 = 1`；
* `r3c2 = 1`。

这意味着，`r3c2`、`r3c1` 和 `r7c2` 里肯定会有至少一个单元格填的是 1。

那么这一次又有什么单元格可以得到删数结论呢？`r1c2` 了。如果它填上 1，就会同时让刚才所说的三个单元格全部不能填 1，直接产生矛盾。

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

我们把这个结构（XY-Wing 上多了一个候选数）称为 **XYZ-Wing**。

我们再来看一个题。

<figure><img src="/files/WqRIV2m3Cw3iFuuXvaSq" alt="" width="375"><figcaption><p>另一个 XYZ-Wing</p></figcaption></figure>

这个例子也希望你自己理解。

## WXYZ-Wing

前面我们看过了 XYZ-Wing，是 XY-Wing 上增加了一个候选数得到的新结构。这次，我们再往上加一个格子。看看四个单元格能不能也能这样用。

<figure><img src="/files/ehweQqf9g8X7ZfMlNJYN" alt="" width="375"><figcaption><p>WXYZ-Wing</p></figcaption></figure>

如图所示。这次我们假设的是 `r2c2` 这个单元格。

* 如果 `r2c2 = 2`，则旁边的 `r2c3 = 3`；
* 如果 `r2c2 = 5`，则同宫的 `r3c1 = 3`；
* 如果 `r2c2 = 9`，则同列的 `r7c2 = 3`；
* `r2c2 = 3`。

那么可以发现，这次是整整四个单元格里至少有一个填 3。

和前面一样，我们仍然能找到一个删数单元格。如果 `r1c2 = 3`，则会同时使得四个单元格都不能填 3，满足不了至少一个填 3 的结论，于是就矛盾了。

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

我们把这个技巧称为 **WXYZ-Wing**。

我们再来看一个例子。

<figure><img src="/files/dvkd91uSVPq1Cpj7hfmk" alt="" width="375"><figcaption><p>另一个 WXYZ-Wing</p></figcaption></figure>

如图所示。这个例子希望你能自己推理一下。

## VWXYZ-Wing

看得出来，老外已经词穷了。它尝试在往字母表里一个一个字母往上加就成为了一个新的技巧名。用到 Z 之后发现已经没有字母了，又开始往前面找。

既然 WXYZ-Wing 已经过了，下面就再加一个单元格，就成了新的技巧了：**VWXYZ-Wing**。

<figure><img src="/files/dgwtbdyeVP9CsCuJKkOx" alt="" width="375"><figcaption><p>VWXYZ-Wing</p></figcaption></figure>

如图所示。虽然推理完全和前面的一样，但是我还是解释一下。这次我们要假设的是 `r6c4` 的填数情况：

* 如果 `r6c4 = 4`，则同行的 `r6c7 = 1`；
* 如果 `r6c4 = 7`，则同行的 `r6c3 = 1`；
* 如果 `r6c4 = 8`，则同宫（或者说同列）的 `r5c4 = 1`；
* 如果 `r6c4 = 9`，则同宫的 `r4c6 = 1`；
* `r6c4 = 1`。

我们发现，这个例子里，仍然有删数结论。假设 `r6c6 = 1` 的话，则会同时使得前面假设的 5 个单元格全部没办法填 1。所以，结论就是 `r6c6 <> 1` 了。

我们再来看一则例子。

<figure><img src="/files/3tgyK3cOlWLfNVYWXdeO" alt="" width="375"><figcaption><p>另一个 VWXYZ-Wing</p></figcaption></figure>

也是一样，这个例子就给你自己推理了。

## 这种技巧的规格 <a href="#size-of-regular-wings" id="size-of-regular-wings"></a>

可以通过技巧看出，它其实就是逐渐在扩展结构的规格，也就是使用的单元格数量。当然，除了 XY-Wing 变为 XYZ-Wing 的时候只是加了一个候选数而已。这个是名称的历史由来的问题。这我们一会儿说。

这个技巧的极限情况是多少呢？理论来说，这个技巧应该最大可以到 9 个单元格。但是因为越大的规格的这个结构，形成条件也就会越苛刻（毕竟有一个单元格需要有和单元格数量一样多的候选数数量），所以这只是个理论数值。

现在能够从题目里找到的最大规格是 5，即上面的 VWXYZ-Wing 就已经是最大的情况了。

另外，名称的话也是随着单元格数量变化的。和 WXYZ-Wing 以及 VWXYZ-Wing 一样，再大点，字母就会再多一些。所以不难想到后面的名字都是什么：

* 6 个单元格：UVWXYZ-Wing
* 7 个单元格：TUVWXYZ-Wing
* 8 个单元格：STUVWXYZ-Wing
* 9 个单元格：RSTUVWXYZ-Wing

不得不说，这个技巧的取名真的省事。

## 历史由来 <a href="#history-of-naming-of-wings" id="history-of-naming-of-wings"></a>

现在我们来说说为什么这个规格的命名并不是严格遵守的。

可以发现，XY-Wing 到 XYZ-Wing 并没有按多一个单元格方式在推广。相反，XY-Wing 只有两个字母，却上手就用了三个单元格。这个神奇的情况也占用了一个技巧名。

这个的原因是来自于这个技巧的来源。看前面的 XY-Wing 似乎我们看不太出来它的来源。但是如果你把宫内的两个单元格强行移动到行列上去，让这个结构的两个分支“垂直”，你就会发现，它长得很像是二阶鱼的“异数”版本。

二阶鱼是假设出两种填数情况，在排列的时候形成交叉填入的 X 字母形状。而 XY-Wing 在假设的时候，也是随其中一个位置开始假设两种填数，并最终影响到两端的填数。二阶鱼的删数是两个完整的行列；而 XY-Wing 的删数，则也取决于两端填数的影响的范围。

所以，XY-Wing 这个技巧的名字其实是来自二阶鱼的。回忆一下，二阶鱼的英文是什么？X-Wing。所以，不难想到，XY-Wing 就是因为用到了两个数字的假设，因此把 X 改成了 XY。

在之前的历史里，我们说到，X-Wing 的 X 并不是未知数，而是一架飞机的代号。但是，推广到 XY-Wing 时，X 被当成了未知数。换言之，二阶鱼确实用到的是一个数字内部的填数关系，所以 X 也可以理所应当地理解为一个数字。而 XY-Wing 则为两个数字的假设关系，因此 XY-Wing 就这么得来的。

而 XYZ-Wing 以及后面的名称，则是发现 XY-Wing 并不是“完整”的。所谓完整的，可以看到，从 XYZ-Wing 技巧开始，后面所有的结构，假设的单元格本身都带有和单元格总数量一样多的候选数数量。但是 XY-Wing 不是。XY-Wing 刚好少一个。少一个什么呢？少一个 XYZ-Wing 里的那个“Z”，也就是那个删的数字。

所以，再补全后，刚好因为 XYZ-Wing 用到三个字母就补齐了命名上字母的使用情况，因此，后面的技巧名也就随单元格数量直接加字母就行了。几个格子就用几个字母，然后从 Z 字母开始，从后往前数相同数量的字母，然后拼上 -Wing 就是这个技巧的名字了。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://sudoku.kazusa.tech/full-marking-techniques/02-regular-wings/01-reasoning-of-regular-wings.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
