数独AI教练

首页 › 学技巧

数独解题技巧:从入门到高手,按顺序学

想提高数独水平,最快的方法是按顺序学技巧。排除法和唯余法足以解完简单的题。再掌握宫区块、行列区块以及数对、三数组,就能解困难的题。从 X-Wing 开始的技巧,主要用于专家和大师难度。

数独规则:数独怎么玩

“入门”难度用到的技巧

  1. 第1步
    排除法(这个数只能放在这里)

    当某个数字在一行、一列或一宫里只有一个格子可以放时,那一格就一定是这个数字。

“简单”难度用到的技巧

  1. 第2步
    唯余法(这格只能填这个数)

    把一个格子所在行、列、宫里已有的数字都划掉后,如果只剩下一个候选数,那它就是这一格的答案。

“普通”难度用到的技巧

  1. 第3步
    宫区块(宫内候选连成一线)

    当一个宫里某个数字的候选数全都在同一行或同一列时,可以把这个数字从这一行或这一列在宫外的其他格子中删掉。

  2. 第4步
    行列区块(一行或一列锁定宫)

    当某个数字在一行或一列里的候选数全都在同一个宫内时,可以把这个数字从这个宫的其他格子中删掉。

“困难”难度用到的技巧

  1. 第5步
    显性数对

    当同一行、列或宫里有两格的候选数都只有相同的两个数字时,可以把这两个数字从该区域的其他所有格子中删掉。

  2. 第6步
    隐性数对

    当两个数字在一行、一列或一宫里只能放在同样的两格时,可以删掉这两格里的其他所有候选数。

  3. 第7步
    显性三数组

    当一个区域里有三格的候选数合起来只有三个不同的数字时,可以把这三个数字从该区域的其他格子中删掉。

  4. 第8步
    隐性三数组

    当三个数字在一个区域里只能放在同样的三格时,可以删掉这三格里的其他所有候选数。

“专家”难度用到的技巧

  1. 第9步
    X-Wing(矩形删减)

    当某个数字在两行里各正好只有两个位置,而且这些位置在同样的两列上时,可以把这个数字从这两列的其他格子中删掉(行和列互换也同样成立)。

  2. 第10步
    剑鱼(Swordfish)

    X-Wing 的三条线版本:当某个数字在三行里的候选数全都落在同样的三列里时,可以把这个数字从这三列的其他格子中删掉。

  3. 第11步
    XY-Wing(XY翼)

    由三个各有两个候选数的格子组成——中心格 XY,以及和它同行、同列或同宫的两个翼格 XZ、YZ;凡是和两个翼格都同行、同列或同宫的格子,都可以删掉 Z。

  4. 第12步
    XYZ-Wing(XYZ翼)

    中心格有三个候选数(XYZ)的 XY-Wing:凡是和中心格及两个翼格都同行、同列或同宫的格子,都可以删掉三格共有的数字 Z。

“大师”难度用到的技巧

  1. 第13步
    摩天楼

    当某个数字在两行里各只有两个位置,且各有一端对齐在同一列时,可以把这个数字从和另外两端都同行、同列或同宫的格子中删掉。

  2. 第14步
    双线风筝

    当某个数字在一行和一列里各只有两个位置,且这一行和这一列在同一个宫里相交时,可以把这个数字从和另外两个端点都同行、同列或同宫的格子中删掉。

  3. 第15步
    唯一矩形

    利用正规数独只有唯一解这一点:跨两个宫、组成矩形的四个格子不可能最后都只剩同一对数字,所以可以删掉会造成这种情况的候选数。

  4. 第16步
    BUG+1

    当所有空格都正好有两个候选数、只有一格有三个时,这一格的答案就确定了——否则数独会有两个解。

  5. 第17步
    空矩形

    当某个数字在一个宫里的候选数都落在一行加一列组成的十字里时,配合这个数字只有两个位置的一行或一列,就能从某一格中删掉这个数字。

  6. 第18步
    W-Wing(W翼)

    两个只能是 X 或 Y、彼此不同行不同列也不同宫的格子,如果被一行或一列中 X 仅有的两个位置连起来,就可以从和这两格都同行、同列或同宫的格子中删掉 Y。

  7. 第19步
    显性四数组

    当一个区域里有四格的候选数合起来只有四个不同的数字时,可以把这四个数字从该区域的其他格子中删掉。

  8. 第20步
    隐性四数组

    当四个数字在一个区域里只能放在同样的四格时,可以删掉这四格里的其他所有候选数。

  9. 第21步
    带鳍X-Wing(鳍鱼)

    在某个角附近多出几个候选数(鳍)的 X-Wing:既在 X-Wing 的列上、又在鳍所在宫里的格子,仍然可以删掉这个数字。

  10. 第22步
    水母(Jellyfish)

    X-Wing 的四条线版本:当某个数字在四行里的候选数全都落在同样的四列里时,可以把这个数字从这四列的其他格子中删掉。