grid_on

Sudoku Clean 素数独

技巧文档 / 双线风筝

双线风筝

前置知识: 链的基础

进阶

双线风筝

前置知识:链的基础

描述

双线风筝是一种“删候选”的单数技巧:只盯住一个数字 d

它会在一条行里找到 d 的 2 个候选位置,在一条列里也找到 d 的 2 个候选位置,并且其中一对落在同一宫里“连起来”。
最后,能同时看见两端的候选 d 就可以删除。


详解

双线风筝示例

先看上图:目标数字是 4
这条链从 r4c2 → r4c9 → r6c8 → r8c8,红色是要删除的 r8c2 中的候选 4,两端(r4c2、r8c8)用蓝色标出。

为什么能删?看一个很短的反证就够了:

  • 假设 r8c2 = 4(红色候选为真)
  • r8c2 能同时看见两端,所以 r4c2 ≠ 4r8c8 ≠ 4
  • 两条强链会被迫“补上 4”:第 4 行迫使 r4c9 = 4,第 8 列迫使 r6c8 = 4
  • r4c9r6c8 在同一宫里,不可能同时为 4 → 矛盾

所以 r8c2 不可能是 4,红色候选 4 可以删除。


例子

下面两张图是其他方向/其他数字的双线风筝,你可以直接对照结构参考:

双线风筝示例 A

双线风筝示例 B


如何寻找双线风筝?

一句话:行两点 + 列两点 + 宫里连一下 → 删两端共视点

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

  1. 先选一个数字 d
  2. 找到一条行(或列),让 d 在里面只剩 2 个候选位置(强链)
  3. 再找到一条与之垂直的列(或行),让 d 在里面也只剩 2 个候选位置(强链)
  4. 检查这两对候选里,是否有一对落在同一宫里(风筝的“结”)
  5. 剩下的两个端点就是两端:能同时看见两端的位置,就是可删的候选 d