数独行列区块(Claiming)技巧详解

行列区块(Claiming)是一个数独技巧:只看一行或一列,就能排除某个宫里的候选数。原理是这样的:如果一行或一列里还能填某个数字的格子都在同一个宫里,就可以把这个数字从这个宫的其他格子中全部排除。

这个技巧在英文里也叫 Box-Line Reduction。它把指向对(Pointing Pairs)的逻辑反过来用,中等和困难的谜题经常需要它。本文先讲规则和几种叫法,再用一道真实的谜题逐格演示。

行列区块的规则

行列区块需要满足三个条件:

  1. 选一行或一列,再选一个这条线上还没填的数字。
  2. 找出这条线上所有还能填这个数字的格子。
  3. 确认这些格子都在同一个宫里。

每一行、每一列里,每个数字都要出现一次。如果这条线上能填这个数字的格子都在同一个宫里,那么这条线的这个数字一定落在这个宫里。现在还不知道具体是哪一格,但已经知道是哪个宫了。

一个宫里,每个数字也只能出现一次。这个宫的这个数字已经由这条线提供了,所以宫里的其他格子都不可能再填它。把这个数字从宫里不在这条线上的格子中全部排除。这条线把这个数字“占”给了自己的格子,英文名 Claiming(占有)就是这么来的。

一句话记住规则

一条线,一个数字,能填的格子都在同一个宫里:把这个数字从这个宫的其余格子中排除。

行列区块的几种叫法

Claiming 和 Box-Line Reduction 是同一个技巧的两个英文名,中文一般叫行列区块,也有人叫行列摒除。书籍和解题软件里这几种叫法都能见到。还有一个名字把两个技巧合在一起:区块(Locked Candidates)。指向对是第一类区块,也叫宫区块;行列区块是第二类区块。两者都是把一个数字锁在宫与线交叉的那三个格子里。

这两类只是方向不同。指向对从宫出发,在线上排除候选数。行列区块从线出发,在宫里排除候选数。学会其中一个,另一个的逻辑你也就懂了。

真实例题,一步一步看

这个局面来自一道真实的谜题。每个空格里都标出了候选数,也就是它所在的行、列和宫还允许填的数字。

使用行列区块之前的数独棋盘,每个空格里都写有候选数。21469345793685689789367893678856937926913679437469491689256868527341992165437878743891526265321947689181978353682568784235784678135938258978923789123578C1R1C2R2C3R3C4R4C5R5C6R6C7R7C8R8C9R9
这一步之前的局面。每个空格都标出了候选数。
  • 5 提示数
  • 5 已填好
  • 5 新填的数字
  • 5 构成结构的候选数
  • 5 可排除的候选数

来自 Sudoku Royale 谜题库的第 201024 题,用更简单的技巧一路解到这个局面。

找出结构

看第7行,只盯数字 8。第7行有三个空格:R7C4、R7C8 和 R7C9。R7C4 的候选数里没有 8,因为第4列已经有一个 8 了。所以第7行里只有两个格子能填 8:R7C8 和 R7C9。两格都在第9宫,也就是右下角的宫。这就是数字 8 的行列区块。

第7行中数字 8 的行列区块。8 只能填在 R7C8 和 R7C9,两格都在第9宫。R8C7、R8C9、R9C7、R9C8 和 R9C9 的 8 被排除。21469345793685689789367893678856937926913679437469491689256868527341992165437878743891526265321947689181978353682568784235784678135938258978923789123578C1R1C2R2C3R3C4R4C5R5C6R6C7R7C8R8C9R9
第7行中数字 8 的行列区块。两个橙色格子 R7C8 和 R7C9 都在第9宫。R8C7、R8C9、R9C7、R9C8 和 R9C9 的 8 被排除。

排除候选数

第7行的 8 不是在 R7C8,就是在 R7C9。无论哪种情况,它都在第9宫,所以第9宫的 8 由第7行提供。第9宫的其他格子都不可能是 8。其中有五格的候选数里有 8:R8C7、R8C9、R9C7、R9C8 和 R9C9。把这五格的 8 都排除。R7C8 和 R7C9 保留它们的 8。

接下来怎么走

行列区块本身不能直接填出数字,但它排除的候选数常常会打开下一步。看 R8C7。这一步之前,它有两个候选数:7 和 8。现在 8 被排除,只剩下 7。只有一个候选数的格子就是唯一余数(Naked Single):在 R8C7 填入 7。

使用行列区块之后,R8C7 只剩下候选数 7,所以在这里填入 7。214693457936856897893678936788569379269136794374694916892568685273419921654378787438915262653219476891819783536825687423574678135938258979237912357C1R1C2R2C3R3C4R4C5R5C6R6C7R7C8R8C9R9
排除之后,R8C7 只剩下 7 这一个候选数。

试试 Sudoku Royale

你熟悉的经典数独,没有广告,没有弹窗,没有杂乱。每天一道全新的每日挑战,不计时的无限练习,还有技巧特训。想要刺激时,可以在同一块棋盘上和 2 至 18 名玩家竞速。

免费下载 Sudoku Royale(iOS)

行和列,两格和三格

例题用的是行,换成列规则也一样。如果一列里能填某个数字的格子都在同一个宫里,就把这个数字从这个宫另外两列的格子中排除。

格子的数量可以是两个,也可以是三个。一条线和一个宫正好共用三个格子,所以这个数字在结构里最多有三个可填的格子。两格也好,三格也好,排除的方式都一样。

解题时怎样发现行列区块

行列区块比指向对难发现,因为要检查的是一条九格长的线,而不是一个紧凑的宫。完整的笔记 (英文)帮助很大。按下面的顺序找:

  1. 选一行或一列,再选一个数字。 先从空格少的线开始。例题里的第7行只有三个空格。
  2. 数一数这个数字能填几格。 如果它在这条线上有两个或三个可填的格子,就继续往下看。有四格或更多时,它们不可能都在同一个宫里。
  3. 检查是否同宫。 如果这些格子都在同一个宫里,你就找到了这个结构。
  4. 排除候选数。 把这个数字从这个宫在线外的所有格子中排除。
  5. 回头再找唯一数。 先看刚刚少了一个候选数的那些格子,其中可能有一格只剩下一个候选数了。

一个快速判断法

一行或一列会穿过三个宫。如果其中两个宫里已经填了这个数字,这条线的这个数字就一定在第三个宫里。这就是一个行列区块。

常见错误

  • 排除的位置不对。 行列区块排除的是宫里的候选数,不是线上的。如果你去排除线上的,那是把指向对的规则用在了一个并不是指向对的结构上。
  • 漏看宫外的格子。 如果这个数字在这条线上还能填在另一个宫的某个格子里,行列区块就不成立,什么都不能排除。
  • 排除了结构本身的格子。 线与宫交叉处的格子要保留这个数字。只有宫里的其他格子才会失去它。
  • 笔记不完整。 线上少记一个候选数,就可能让一个并不存在的结构看起来成立。

在 Dojo 里练习行列区块

Sudoku Royale 的 Dojo 为这项技巧准备了简短的课程和特训:一盘接一盘,下一步正是用到它。你的纪录是连续答对的最快一次,还能和其他玩家比一比。在 iPhone 上打开行列区块特训,或阅读Dojo 的玩法 (英文)。

免费下载 Sudoku Royale(iOS)

什么时候用行列区块,接下来学什么

简单的谜题一般用不到行列区块。做中等和困难的谜题时,找不到唯一数,指向对也帮不上忙了,就去找它。它的逻辑很简单,所以一定要排在X翼(X-Wing)这类进阶技巧之前先试。

每排除一次候选数,都回头再找一遍唯一数。然后去学显性数对(Naked Pair)和隐性数对(Hidden Pair),它们处理的是两个格子里的两个数字。想知道每个技巧处在什么位置,可以看数独技巧完整列表 (英文)。

常见问题

数独里的行列区块是什么?

行列区块是一个排除候选数的技巧。如果一行或一列里能填某个数字的格子都在同一个宫里,就可以把这个数字从这个宫的其他格子中全部排除。

Claiming 和 Box-Line Reduction 是一回事吗?

是的。Claiming 和 Box-Line Reduction 是同一个技巧的两个英文名,中文一般叫行列区块,也有人叫行列摒除。它也叫第二类区块(Locked Candidates Type 2)。

行列区块和指向对有什么区别?

方向不同。指向对从宫出发,在行或列上排除候选数。行列区块从行或列出发,在宫里排除候选数。

区块是什么?

区块(Locked Candidates)是指向对和行列区块的统称。指向对是第一类,行列区块是第二类。两者都是把一个数字锁在宫与线交叉的格子里。

什么时候该找行列区块?

做中等和困难的谜题时,找不到唯一余数和隐性唯一数了就去找。先找指向对和行列区块,再考虑X翼这类进阶技巧,因为它们更简单,也更快找到。

试试 Sudoku Royale

在 App Store 免费下载
Sudoku Royale:经典数独,没有广告,想玩时还有实时对战免费下载