grid_on

Sudoku Clean 素数独

技巧文档 / 带鳍X翼

带鳍X翼

推荐先读: X翼(二阶鱼)

进阶

带鳍X翼

推荐先读:X翼(二阶鱼)

描述

带鳍X翼是一种“删候选”的鱼类技巧:它看起来像一个 快要成立的 X翼,但在其中一条基线(行或列)上,多出来了 1 个或几个同数字候选——这部分就叫 鱼鳍

它和标准X翼的关系可以这样理解:

  • 绿色四个关键点像是在组成一个 X翼(鱼身)
  • 黄色是多出来的同数字候选(鱼鳍),它“破坏了完美矩形”
  • 因为有鱼鳍,删数不会像标准X翼那样“整列/整行扫一片”,而是缩小到鱼鳍所在的那一宫(限制区域)

你可以记住一句话:鱼鳍在哪一宫,删数范围就主要落在哪一宫。
鱼鳍有时也不止一个格子,但它们需要落在同一宫里才成立。


详解

带鳍X翼 详解示例

先看上图:目标数字是 7
绿色四个格子 r1c4、r1c7、r5c4、r5c7 看起来组成了一个标准的 X翼。
r1c8 这个黄色的候选 7 多出来了,它就是鱼鳍,让这个 X翼 “不再完美”。

即便如此,我们仍然能删数,而且删数点落在鱼鳍所在的 第 3 宫(限制区域)里。

为什么能删?看两种情况就够了:

  1. 如果鱼鳍 r1c8 不是 7
    那么第 1 行里,7 就只剩下绿色的两处(c4/c7)
    这时它就回到“标准X翼”,可以在 c4 和 c7 两列删掉其它位置的 7(当然也包含限制区域里的删数点)。

  2. 如果鱼鳍 r1c8 就是 7
    那么第 3 宫里已经放入了 7
    所以第 3 宫里其它位置的候选 7(落在 c7 那条覆盖线上的)也都不可能为真,可以直接删除。

不管鱼鳍是真是假,限制区域里的这些候选 7 都会被排除,所以它们是安全的删数点。


例子

下面两张图是其他带鳍X翼的例子,你可以直接对照“鱼身(绿)/ 鱼鳍(黄)/ 限制区域内的删数(红)”来观察:

带鳍X翼 示例 A

带鳍X翼 示例 B


如何寻找带鳍X翼?

一句话:先找一个“几乎是 X翼”的矩形鱼身,再找同一条基线上多出来的候选(鱼鳍),删数只看鱼鳍所在宫。

在游戏里你可以按这个顺序找:

  1. 先选一个数字 d
  2. 像找 X翼 一样,先找出“看起来对齐”的鱼身关键点(两条基线 × 两条覆盖线)
  3. 检查是否在某条基线上多出同数字候选,并确认这些鱼鳍都落在同一宫
  4. 最后只在“鱼鳍所在宫”里找删数:通常是 覆盖线穿过该宫的位置上、但不属于鱼身交点的那些候选 d