中级

锁定候选数无法推进时,Skyscraper能用在哪里?

通过候选数的位置了解锁定候选数与Skyscraper的区别,找出只有满足底边和顶端条件时才能排除的候选数。

作者
DailySudoku编辑团队(Object)
发布日期
2026-09-23
更新日期
2026-09-23

从锁定候选数拓展到两条线

如果一个宫内某个数字的候选数全部集中在同一行或列,就能排除该行或列在宫外的同一候选数。这就是宫内候选数对行列的排除(Pointing)。反过来,如果一行或一列中的候选数全部集中在同一个宫,就能排除该宫内不在这行或列上的同一候选数。这就是行列候选数对宫的排除(Claiming)。这两种方法统称为锁定候选数。

如果用这两种方法已经无法继续排除,请找找两行或两列,其中同一数字在每行或每列都只有两个可能的位置。Skyscraper通过连接两条线上的候选数位置进行判断。它与寻找集中在一个宫内的候选数的锁定候选数方法,出发点不同。

适用条件——一条底边与错开的顶端

以行为基准时,需要同时满足以下条件。以列为基准时,将行和列互换即可。

  1. 同一个数字在两行中都恰好只有两个单元格可以填入。这并不要求每个单元格的候选数总数都是两个。
  2. 从两行中各取一个候选位置,它们位于同一列。这两个单元格称为底边。
  3. 剩下的两个单元格,即顶端,位于不同的列。
  4. 同时看见两个顶端的其他单元格中,要有该数字的候选数,才能实际进行排除。「看见」是指同处一行、一列或一宫。

底边的两个单元格位于同一列,不能同时填入该数字。因此,至少有一个底边单元格不填这个数字,其所在行的顶端就必须填这个数字。由于两个顶端至少有一个填这个数字,同时看见它们的单元格就可以排除该数字。

示例——同时看见6的两个顶端的单元格

c1c2c3c4c5c6c7c8c9
r1r2r3r4r5r6r7r8r9
5
1
6
8
67
8
3
5
2
9
1
36
2
8
4
5
7
36
56
3
7
4
1
8
2
9
56
9
8
6
2
3
7
4
146
9
7
5
3
8
8
6
9
7
3
2
5
4
5
2
8
9
1
6
3
7
7
5
4
6
8
2
9
数字6的候选位置。B表示底边,T表示顶端。强调色线条连接每行的两个候选位置,删除线表示要排除的候选数。
  • 第3行的6只有r3c3 · r3c9两个位置。
  • 第4行的6只有r4c1 · r4c9两个位置。
  • 底边r3c9 · r4c9在第9列对齐,顶端r3c3 · r4c1则位于不同的列。

r2c1通过第1宫看见r3c3,通过第1列看见r4c1。r6c3通过第3列看见r3c3,通过第4宫看见r4c1。这两个单元格都能看见两个顶端,因此可以排除6。r2c1的候选数6、7中只剩7,r6c3的候选数1、4、6中剩下1、4。这一步本身是排除候选数,确定数字是下一步。

失败示例——即使连线相似,有三个候选位置也不成立

下面的盘面删去了示例中r3c1的9。原来的四个单元格仍然可以画出同样的连线,但第3行现在可以填6的位置有r3c1 · r3c3 · r3c9三个。

c1c2c3c4c5c6c7c8c9
r1r2r3r4r5r6r7r8r9
2379
24
5
1
6
79
49
8
34
679
8
46
3
5
79
149
16
2
369
1
36
2
8
4
5
7
36
56
3
7
4
1
8
2
9
56
15
9
8
6
2
3
7
4
15
126
24
146
9
7
5
3
16
8
8
6
9
7
3
2
14
5
14
4
5
2
8
9
1
6
3
7
13
7
13
5
4
6
8
2
9
不成立的盘面。!表示新增的6的候选位置r3c1。即使连线形状相同,第3行仍有三个候选位置,不能用Skyscraper进行排除。

即使r3c9不是6,也不能断定r3c3一定是6,因为还有r3c1这个位置。在这个盘面中,首先应找出第3行只有r3c1能填9。填入这个数字后,才会恢复示例中的Skyscraper条件。

不适用的情况与常见误解

  • 底边没有对齐。 如果两个底边单元格不在同一列,它们就可能同时为6,无法得出关于顶端的结论。
  • 只挑两个候选位置画线。 请务必检查同一行中是否还有第三个候选位置。
  • 从只看见一个顶端的单元格中排除。 还不知道哪个顶端填这个数字,因此必须同时看见两个顶端。
  • 把两个顶端都确定下来。 结论是至少一个顶端填这个数字,并不是两个都填。

练习题

c1c2c3c4c5c6c7c8c9
r1r2r3r4r5r6r7r8r9
3
6
8
1
7
2
4
9
5
5
9
4
3
8
6
2
7
2
1
5
4
9
6
8
3
4
3
2
8
157
6
9
8
6
4
9
157
3
157
2
9
5
6
2
3
8
4
2
8
7
9
3
15
15
4
6
6
4
3
2
8
9
157
1
5
9
7
6
4
2
3
8
练习盘面中的数字5。B表示底边,T表示顶端。请找出同时看见两个顶端的单元格。

r4c7和r8c8中可以排除哪个候选数? 请数一数第5行、第7行中数字5的位置,并确认底边位于哪一列。

查看答案

两个单元格都可以排除5。第5行的5只有r5c6 · r5c8两个位置,第7行的5只有r7c6 · r7c7两个位置。底边位于第6列,顶端是r5c8 · r7c7。r4c7通过第6宫看见第一个顶端,通过第7列看见第二个顶端。r8c8通过第8列看见第一个顶端,通过第9宫看见第二个顶端。两个单元格的候选数1、5、7排除5后,都剩下1、7。

接着阅读

请先阅读数独候选数怎么记和卡住时检查的7个步骤。接着请阅读XY-Wing与X-Wing有什么不同,可以从哪里排除候选数?。

预备知识

下一篇