# 宫内鱼的基本推理

## 宫内鱼（Franken Fish） <a href="#franken-fish" id="franken-fish"></a>

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2F2gsPNfWn9GXabF4Vp6zf%2Fimage.png?alt=media&#x26;token=ee17a75c-0302-4772-8724-f3912f3604d4" alt="" width="375"><figcaption><p>宫内鱼</p></figcaption></figure>

如图所示。本题有三个强区域和三个弱区域，且每一个数都是“精准”覆盖的，这意味着我们可以直接使用秩的公式得到这个例子的秩为 0。所以所有弱区域都可以用于删数。

我们把这个技巧称为**宫内鱼**（Franken Fish）。是第一种需要介绍的变种鱼结构。

## 宫内鱼的结构起源 <a href="#origin-of-franken-fish" id="origin-of-franken-fish"></a>

宫内鱼的结构来自于普通的鱼。之所以大家能发现到这种长相的鱼结构，是依靠结构变形得到的。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2F6L49yDRC1kUBMzJR4tab%2FFranken%E9%B1%BC%E5%BD%A2%E6%88%90-1.png?alt=media&#x26;token=b20cba6c-403e-4b59-9625-2d06afc8f7a6" alt="" width="361"><figcaption><p>宫内鱼的结构起源-1</p></figcaption></figure>

如图所示。这是一个普通的鱼。我们为了简述结构的样貌，直接使用斜杠表示这些位置不包含某个数字，而红色的 x 表示这个位置可以安放这个数，而蓝色的部分则是结构可以删除的部分（弱区域）。

我们试着将列移动一下。只要不在移动后改变结构的样子或者出现必然矛盾的结果，我们就随便改这个结构的长相，毕竟它只是个结构而已。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2FzJTsIvSfmPj1ZY3WFBsX%2FFranken%E9%B1%BC%E5%BD%A2%E6%88%90-2.png?alt=media&#x26;token=34eb0cf1-a5cb-4d2f-8f57-51bb00995f9f" alt="" width="361"><figcaption><p>宫内鱼的结构起源-2</p></figcaption></figure>

如图所示。我们在移动了之后，结构的 `c78` 拼在了一起。显然，它只是拼在一起了，但是强弱区域数量并未发生变化，也没有影响结构的成立。

接下来，我们稍微变离谱一些。我们把 `r2` 强区域迁移到 `b3` 里，然后去掉 `r2c2` 这个摆放位置；取而代之的是，将 `b3` 里尚未被弱区域覆盖的 `r123c9` 使用斜杠标记，表示它们不能填此数。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2FFiwuTCjhm2avEaZAm1fr%2FFranken%E9%B1%BC%E5%BD%A2%E6%88%90-3.png?alt=media&#x26;token=dc713a76-e7b9-42a5-bec1-7e23fa9e2097" alt="" width="361"><figcaption><p>宫内鱼的结构起源-3</p></figcaption></figure>

如图所示。这样变化了之后就是一个标准的宫内鱼了。这是怎么来的呢？

我们回到前一个图。我们这种安排无法利用到宫。我们能想到将宫用作鱼结构的效果，只能是挪动到 `b3` 时，因为弱区域本身就自带对 `r123c78` 这 6 个位置的覆盖效果，因此移动过去压根不需要我们做什么。

所以，代价是什么呢？代价就是 `r2c2` 在变位之后需要去掉。在它变为当前这一步用到宫的时候，我们只是单纯去掉了 `r2c2` 这一个位置。如果我们还留着它的话，那么就意味着我们必须为它也带有一个强区域的覆盖，但不论如何覆盖，都会造成结构要么不合法，要么很诡异。最自然的样子就只有图上这种长相。

最终，我们就通过这个变化形式，将鱼结构迁移到了宫内鱼的效果上来。可以看到，本题里，宫内鱼依赖了 `b3` 作为强区域的一部分，而强区域使用的 6 个单元格均位于删除域的两列 `c78` 里，所以理应随意去掉一些位置都是可以的。只要 `r123c7` 和 `r123c8` 这两组位置里，都能最终剩下至少一个位置就行。比如说下面这样：

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2FYk4JhPDVOV31sLTXzwf3%2FFranken%E9%B1%BC%E5%BD%A2%E6%88%90-4.png?alt=media&#x26;token=64c13a9f-bec7-45f5-b32e-044a9b2951b7" alt="" width="361"><figcaption><p>宫内鱼的结构起源-4</p></figcaption></figure>

如图所示。这样也不会影响结构成立。

## 二阶宫内鱼（Franken X-Wing） <a href="#franken-x-wing" id="franken-x-wing"></a>

如果我们按照此规则将结构进行变换，我们会得到下面这样的结构。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2FzRWg8MNZZSf2YteSyan9%2FFranken%E9%B1%BC%E5%BD%A2%E6%88%90-6.png?alt=media&#x26;token=01cd399f-1950-42cb-b9a2-0a543e8f2bd7" alt="" width="361"><figcaption><p>二阶宫内鱼</p></figcaption></figure>

如图所示。这是**二阶宫内鱼**（Franken X-Wing）结构的基本长相。这虽然也可以用于删数，但是实际上不难发现，它其实等价于区块。严格来说是行列区块。

我们发现，`r8` 只剩余两处安放位置，但它按宫内鱼的变形规则来看，它俩必须在同一个宫，于是 `r8c78` 直接就构成了行列区块。于是，删数直接包含了 6 个位置：`r79c789`。在删除后，`r456c9` 直接在 `c9` 上形成了列区块。也就是说，二阶宫内鱼一定可以等价改成一个行区块和一个列区块。因此，二阶宫内鱼在做题期间是不存在的。

## 一些例子 <a href="#some-examples" id="some-examples"></a>

下面我们来看一些例子。

### 三阶宫内鱼（Franken Swordfish） <a href="#franken-swordfish" id="franken-swordfish"></a>

下面我们来看**三阶交叉鱼**（Franken Swordfish）的例子。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2FS3W7keACYoHT8ueSP2vo%2Fimage.png?alt=media&#x26;token=23287963-be01-4be9-9f34-6fbda3436d83" alt="" width="375"><figcaption><p>三阶宫内鱼</p></figcaption></figure>

如图所示。本题的强区域是 `1r34` 和 `1b9`，弱区域是 `1c489`。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2Fy9R5up37xmI43pSWzUEU%2Fimage.png?alt=media&#x26;token=5ae83a24-53a3-4a5c-855a-db6ce999cdab" alt="" width="375"><figcaption><p>三阶宫内鱼，另一个例子</p></figcaption></figure>

如图所示。这是另外一个例子，强区域是 `6r19` 和 `6b5`，弱区域是 `6c469`。

### 四阶宫内鱼（Franken Jellyfish） <a href="#franken-jellyfish" id="franken-jellyfish"></a>

然后我们再来看看**四阶宫内鱼**（Franken Jellyfish）的例子。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2Fs4dwmfLLm59lNvIAILpd%2Fimage.png?alt=media&#x26;token=76d3e7f0-e604-4c27-8c9a-2f8f0a4e590e" alt="" width="375"><figcaption><p>四阶宫内鱼</p></figcaption></figure>

如图所示。本题的强区域是 `6r268` 和 `6b6` 一共 4 个，弱区域也是 4 个：`6c3478`。

<figure><img src="https://3269563042-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBwg2o9WwhosLFTuqyR3w%2Fuploads%2FXoJbcSsofsJSL9QNuAXY%2Fimage.png?alt=media&#x26;token=7c7a00b5-6c6a-4ee7-81ab-c45bfff209eb" alt="" width="375"><figcaption><p>四阶宫内鱼，另一个例子</p></figcaption></figure>

如图所示，这题的强区域是 `8r125` 和 `8b7`，弱区域是 `8c1257`。
