下午两点,阳光正好打在我书桌的右上角,咖啡杯旁边摊着今天的数独报纸,编号“365第四天”,说实话,昨天第三天的轻松过关让我有点飘,觉得这365天挑战也就这样了,结果第四天这道题,上来就在一个九宫格里把我卡住了五分钟。
那种感觉很奇妙,你盯着一个空格,脑子里知道数字1到9,横竖都看了,偏偏就下不去手,这让我想起费曼说过的那句话:“如果你不能简单地解释一个东西,那你就还没真正理解它。”行吧,今天我就用跟邻居家小孩讲题的方式,把这道题掰开了揉碎了聊一聊。
(图:一张写满部分数字的数独题目,中央偏左的九宫格用红色圆圈标出一个空格,旁边潦草地写着“5?”)
那个让我“卡壳”的瞬间
先描述一下当时的情况,左上角的那个九宫格里,已经填好了1、3、6、7、8,还缺四个数:2、4、5、9,我盯着最中间那个空位,它在整个大棋盘的第2行第2列。
按我以前的老办法,都是拿铅笔对着这个格子,横着看一排,竖着看一列,再看看它所在的那个小方块,结果横着一看,有了,同一行已经有了4、7、9,所以这个格不能是4、7、9,竖着一看,也有,同一列已经有了3、6、8,所以也不是3、6、8,再扫一眼它所在的那个九宫格,里面已经有了1、3、6、7、8。
好家伙,排除了一圈,剩下2和5这两个候选数。…就没有然后了,我就这么卡在那儿,铅笔点在格子上,看着2和5两个小数字在脑子里打架,怎么都选不出来。
(图:同一个九宫格的特写,镜头拉近到那个空格的同行、同列和同宫,用不同颜色的箭头标出已经出现的数字,突出“2”和“5”两个候选数的示意)
“唯一候选数法”到底是啥玩意儿
这种卡壳感,其实就是数独最迷人的地方,它逼着你不能只盯着眼前的一亩三分地看,我当时犯的错,正是绝大多数新手会犯的——只会对着一个格子做排除,忘了数独是个全局游戏。
这里就得讲到一个核心技巧,叫“唯一候选数法”,听起来挺唬人,其实就是个简单到不行的道理:如果一个格子里只可能填某一个数字,那正确答案就一定是它。
打个生活中的比方,就像你去便利店买午餐,想吃的辣味便当卖完了,三明治你不爱吃,沙拉又太凉,最后只剩饭团可买,那你今天的午餐,注定就是饭团了,唯一候选数法就是这个逻辑,它不在乎你喜不喜欢,而是所有可能性都被压缩到了只剩一个的时候,答案就自己跳出来了。
我一开始盯着那个空格找“唯一数”,当然找不到,因为它的候选数还有两个:2和5,这时候,脑筋得转个弯——别光盯着一个格子看,要去看同一个区域里的其他格子。
跳出局部,答案藏在别处
我放下手里的铅笔,端起咖啡喝了一口,告诉自己先忘了那个格子,我把注意力放到整个九宫格剩下的那三个空格上,既然中间这个格是2或5,那我就看看,这个九宫格里的其他空格,能不能帮我把它“逼”出来。
这就引出了唯一候选数法的真正用法,它不是让你只算一个格子的账,而是让你在整个宫、整行、整列里去寻找那个“只能出现在一个位置”的数字。
我重新扫了一遍左上角这个九宫格,缺的数字是2、4、5、9,然后用大脑模拟填充。
先看数字2,在这个九宫格里,2可能填在哪里?我看了下剩余空格的分布,刚才我卡住的那个中间格,候选有2,这是第一个可能的位置,那旁边的其他空格呢?我逐个排查。
然后一个关键信息跳出来了,我注意到,这个九宫格的第一行,也就是整个棋盘的第1行,已经有一个2出现在右侧的另一个九宫格里了(那道题在第1行第8列的位置有一个2),这意味着什么?意味着整个第1行都不能再填2了!
这个发现像一把剪刀,直接剪断了我刚才乱成一团的思绪,既然第1行不能再有2,那左上角这个九宫格里,所有位于第1行的空格,都跟2说拜拜了,我赶紧去看这个九宫格的布局,它的第一行三个格子,已经全部填满了(1、7、8),压根就没空格了。
等下,第一行是满的,那刚才那个“第1行不能填2”的规则,对这个九宫格来说就是个无用的信息,这恰恰是数独的另一个有趣之处——你常常会发现一些“用不上”的线索,它们是真的,但帮不了你眼前的问题。
好,调整思路,继续追着5跑。
数字5呢?我往这个九宫格的下方和右侧看,这个九宫格右边的那个宫(也就是右上角那个)里,有没有5?没有,但中间偏右的九宫格里,第4行有个5,第4行离我们还远,暂时管不到左上角。
于是我换了个策略,不看行和列了,就死盯着这同一个九宫格内部的逻辑,缺的是2、4、5、9,中间那块硬骨头是2或5,那我能不能先确定4和9的位置?
这回我顺着4和9去看行与列的排除,结果发现,在这个九宫格左下角那个空格,它的同一行(第3行)里,在第3行第7列的位置已经有了一个9,这意味着这个左下空格不能填9,同一列里,4又出现在别处,把这个格子的路越堵越窄,一步步推下去,左下角这个格子最后只剩下一个数字可填——4。
当我在左下角填下4的那一刻,整个左上角宫的局面瞬间打开了,因为左下角确认是4,那中间那个我纠结半天的格子,候选数2和5虽然都还活着,但另一个原本可能填9的位置,由于行和列的排除,9就只能落在中间格右上方那个位置了,9一填上,中间格的候选数立刻从2和5,变成了只剩2,因为同一宫的9已经出现,同一列也刚好出现了5(来自下方某个九宫格,第5行第2列那个位置,藏着一个5)。
那一刻的感觉,就像拼图拼到最后一块,不需要用力,它自己就滑进去了。答案不是想出来的,是被周围的条件一步步挤出来的。
数独和生活,通的就是这个理
做完这道题,我靠在椅背上发了会儿呆,今天这个“第四天”,卡壳的时候是真的烦躁,但解开之后,那种清爽感也是实打实的。
很多时候,生活里的难题也像这个卡住的格子,你拼命在原地想,翻来覆去就是“2还是5”那两条路,怎么也选不出来,这时候需要的不是更用力地想,而是站起来,去看更大的那盘棋,看看周围哪些条件已经变了,哪些资源可以借上力,哪些看似无关的信息其实卡住了关键的位置。
就像今天这道题,突破点压根不在那个让我纠结的格子里,而在我不曾注意过的左下角,它在同一个宫里,默默承载着行和列施加给它的所有限制,最后逼出一个确定的4,反过来照亮了全局,我们做数独,其实练的就是这种“跳出当下困境,从环境里找答案”的思维习惯。
明天继续之前,想分享几个实在话
如果你也正在经历数独365的某一天,或者就是翻报纸时随手做一道,我想把今天这道题里真正好用的一点心得留在这里,不是什么高深的技巧,就是几个拿来就能用的法子:
- 第一,别急着猜。像我开头那样对着一个格子硬想2还是5,想破头也没用,数独的逻辑是严密的,如果觉得有两个可能,那一定是你还没看到那个把其中一条路堵死的条件,先放下,去看别处。
- 第二,学会“数字扫雷”。也就是在心里快速默念:这个宫里1在哪里,2在哪里……你会惊讶地发现,总有一两个数字,在整个宫里只有一个位置可去,这种“唯一候选数”不来自那个格子本身,而来自这个数字在整个区域里的处境。
- 第三,善用“行”和“列”的穿透力。一个数字在远处的某一行出现,能隔着好几个九宫格,管到你现在这个小方块,就像今天帮了大忙的那个藏在第5行第2列的5,它不在左上角宫,但直接排除了中间格填5的可能性,这种跨区域的影响力,是新手最容易忽略的东西。
今天的题做完了,咖啡也凉了,报纸的边角被我画得乱七八糟,各种箭头和候选数的小字挤在一起,说实话,纸面看着挺狼狈的,但心里很踏实,数独365的第四天,题目难度明显比前两天上了一个小台阶,可解完之后的满足感也翻倍了。
不知道明天的第五天会是什么样,也许是个更丝滑的题,也许又会在某个角落卡我十分钟,但有了今天这一遭,我觉得卡壳也没那么可怕了——卡住的从来不是题目,是你还没看够全局的那双眼睛。
明儿继续,桌上这张草稿我先不扔,夹在书里,算是第四天的一个小纪念。



