一不小心就沉迷数独无法自拔,起初只是当做锻炼脑子的益智小游戏,后来看到了相关的数独解题技巧,才知道原来方格间还蕴藏着大智慧。技巧虽易懂,但如何熟练运用还需多次练习。最近发现了《千题千解二》这本受众多玩家推荐的数独入门书籍,里面的题目真是足够烧脑,当然也是个极好的锻炼技巧的机会。每天做一道题,同时也把其中我认为较关键的步骤贴上来做一个总结。希望能让自己有更大的收获。
3/28
千题千解二-03
原题如下:
运用基本的排除技巧可填出数空,但此时将会面对第一个难题。思索好一阵子,才填出下一个数。截完图才发现,应首先对8宫r7c5和r9c5两格填56候选做一个简单说明:(本过程并没有在图中标记)
- 由于r2c4为6且5宫仅剩下3个空格,可推知5宫中的6必在c6上;
- 利用c4和c6的56进行区块排除,可知r7c5和r9c5两格为5和6。
以下思路可参考以下图片:
- 如黄线所示,利用5宫6宫35对4宫进行区块排除,推得r5c1和r5c3两格为3和5;
- 如红线所示,利用2宫3宫5对1宫进行排除,推得5可能且仅可能在r1c1和r1c3其中一格(黑×所示);
- 如绿线所示,根据1宫4宫数字5的可能性利用技巧摩天楼(Skyscraper),推得宫7中的5可能且仅可能在r7c2和r8c2其中一格(黑×所示);
- 如粉线所示,利用3宫6宫5对9宫进行排除,推得5可能且仅可能在r7c8和r8c8其中一格(黑×所示);
- 如橙线所示, 根据7宫9宫数字5的可能性利用技巧摩天楼(Skyscraper),推得8宫中的5不可能存在于r7c5格中;
- 结合先前推出的8宫中5 6的候选,可推得r7c5为6,r9c5为5(如白色数字所示);
这个过程运用了两个区块排除及两次Skyscraper,还有很有难度的。区块排除及Skyscraper都是很有用的技巧,希望下次更早点看出来可用此技巧!
运用基本技巧继续后,又卡住了。这次没过多久就看出了可用Skyscraper技巧进行解题。思路如图所示:
- 如红线所示,利用r7c1的3对8宫进行排除,推得宫8中的3可能且仅可能在r9c4和r9c6其中一格(红×所示);
- 如蓝线所示,根据2宫与8宫中3的可能性利用Skyscraper技巧,排除9宫中3不可能存在于r9中(黄线所示);
- 如橙线所示,利用3宫6宫中的3对9宫中的3进行排除,可得3位于r8c7。
这个过程对比上一过程明显更为简单,熟悉了Skyscraper就能看得更快。
到此便可轻松地将其他数字慢慢填满,最终答案如下:
3/29
千题千解二-04
原题如下:
这道题比起昨天做的第三题简单不少,没有费劲心思卡壳的地方,也不需要用上双强链级别的技巧,靠着区块排除法便可解决。下面以开局阶段为例来讲解一下这道题。
开头阶段推理7宫7思路如图所示:
- 如红线所示,1宫和5宫7可推出4宫7可能且仅可能在r4c2和r5c2两格间(如红×所示);
- 如黄线所示,9宫7可推出8宫7可能且仅可能在r7c4和r7c6两格间(如黄×所示);
- 如橙线所示,利用1489四宫7推得7宫7在r8c3格。
这个过程主要利用行列摒除,将某数限制在某宫的某一行/列上,再对另一个宫进行摒除。思维虽略有跳跃,但此方法并不难,且是极实用的一种方法。
最终答案如下:
3/30
千题千解二-05
原题如下:
这道题也算比较简单,运用基本技巧便可轻松解出,区块排除会对解题有很大帮助。
开头的解法便利用了区块排除,思路如下:
- 如红线所示,r6和c9上79对6宫进行区块排除,推得6宫79存在于r5c7和r5c8两格中;
- 如黄线所示,c7和c9的8对6宫8进列排除,结合1步结论,推得8位于r6c8格中;
- 如绿线所示,5宫和9宫的6对6宫6进行行列排除,推得6宫6位于c9中(绿×所示);在此基础上对3宫进行列排除,推得6位于r1c7格中。
接着往下做,又碰到一个二度利用行列摒除解题的一个例子,思路如下:
- 如红线所示,利用8宫5对7宫进行宫摒除,推得7宫中5必位于c2中(红×所示);
- 如黄线所示,利用1宫6宫的5及第1步结论对4宫进行行列摒除,推得5位于r5c3格中。
最终答案如下:
3/31
从今天开始,我也来尝试对一些变形数独题目进行总结。无论是怎样的变形题目,万变不离其宗,都是介于标准数独的规则,即每行每列每宫(正方形数独)1-9不重复。变形数独只是在此基础上附加了一些规则。通常来说,解变形数独题的前期阶段,需要利用变形数独的特定规则下手,当填出较多的数时,便可利用标准数独规则将其余数字推理得到。总之,在我看来,能够理解好变形数独特定规则是求解的关键所在。当然,理解归理解,还是需要多多练习才能够熟练运用。接下来的一周,我将会试图对VX数独进行解析。
VX(全标)规则: V和X在罗马数字里代表5和10,凡相邻两格和是5的在中间标V,凡和是10的标X。
其实规则还是比较简单的,如何理解呢?
“凡相邻两格和是5的在中间标V”:即V旁两格必为:1-4 2-3这两种组合;
“凡和是10的标X”:即X旁两格必为:1-9 2-8 3-7 4-6这四种组合其一;
同时还隐含了:凡是在标有V,X旁的格子,必不是5。
仅需要牢记这三条原则,其实已足够解出绝大多数VX数独,至于速度,那就看你自己的熟练程度了。
以一道VX数独为例进行讲解:
仅运用上面三条原则可以快速推出:
简单的写下部分思路:
- 先看r4,1已给出,则在c4c5的V旁两格必为2-3组合,进而可推出r3r5的“23×78”,进而推得c2上两个V旁的14,23组合,进而推得7宫、9宫中的数字发布;
- 由于5宫中23的位置已定,则5宫中r6V两旁必为1-4组合,进而可推出r6c4和r7c4的69组合及6宫中的23组合;
其实从图中已可确定r4c2格为4,进而推理出部分数字。为我做题截图时的疏漏。我采用了更复杂的推理方式(此乃反例= =):
看到6宫中红框圈出的部分,两格中带X,可能填出的组合已在上文写出,经推理可知必为4-6组合;即r5上4的位置已定,则可推得r5c2为1。结果虽相同,却是绕了个大弯。
此时结果将变成:
下一步利用之前说过的区块排除,则可进一步进行推理:
- 如红线所示,根据5宫6宫23,可推得r5c1格为2或3;
- 如黄线所示,可推得r5c1为3,进而可推得大片2-3及7-8组合中的数字。
经过以上推理,剩下的部分便可较轻松地求解,VX数独入门比较简单,是练习变形数独的一类好题目。
本题答案如下:
4/1
千题千解二-06
这道题本应是昨天来解析的,无奈昨天做了许久实在做不出来,且还有其他要做的事。今天早起看了一会,终于填出突破性的一个数字,然后便一鼓作气将其拿下。还是要多多练习才行啊!
原题如下:
这道题起手能填出的数字实在很少,直接看出的只有两个数。然后便需要利用区块排除进行解题,思路如下:
- 如红线所示,通过1宫3宫46对2宫进行区块排除,推得46位于r2两格中;
- 如黄线所示,通过c4c6中的5对2宫进行列排除,推得5位于r3c5格中。
再推出3个数后,昨天的我便碰壁停滞不前了。终于睡完一觉大脑较为清醒的时候,找到了突破口,思路如下:
- 如红线所示,先看c6,由于r1r3上的6已存在,可推得c6上的6必可能且仅可能存在与r7c6与r9c6两格间,即8宫中的6也仅可能存在与r7c6与r9c6两格间,进而可推得r7c5格不能为6;
- 如黄线所示,6宫中的8对5宫进行排除,推得5宫中8可能且仅可能存在于c5上,进而可推得r7c5格不能为8;
- 如绿线所示,结合1,2步结论对r7c5格运用唯一余数法进行排除,可推得为4,并可推得r2c4为4,r2c5为6,r4c4为6。
唯余法常常是我们难以意识到的一种基础解法,我们会更习惯于用数字对格子进行试探。这种用格子试探数字的方式相对而言会不那么直观,所以培养观察每一格所涉及到的20个“同位格”的意识会对解题有很大的帮助。
这几个数字填下后,只要把每宫中的4推理出来,其余部分就能很容易的填出来了。这也让我意识到自己在同位格意识上的不足,还需苦练。
原题答案如下:
VX数独
原题如下:
根据昨天列举的三大原则,可快速将VX两旁的格子进行推理,推出其可能存在的组合形式。一般来说,推着推着,推到某行/列/宫与题目所给数字有关联时,便能瞬间得到一大片正确答案。
可快速写出:
接着进行推理:
- 观察c5,对红框中两格进行分析,由于上方存在4-6组合,也存在1或9的其中一数,排除4-6,1-9组合,可推得为与上方23*78互补的另一组合;
- 观察r8,由于已存在2-3组合与7-8其中一数,则r8c5格为7或8,由于8宫中8已给定,则可确定该格为7下方格为3。
由此便可确定一大片数字:
其余部分,就跟标准数独一样很容易解出来了。
原题答案:
4/2
千题千解二-07
原题如下:
这道题的关键在于其中的两步推理,只要过了那个坎,其他的数字便可使用基本技巧推理得出。
第一步推理如下:
1.从先前的判断可知4宫c2为59数对,可排除r7c2必不是5;同时如红线所示,c2与r7上的35对7宫进行区块排除 ,可推得r8c1,r9c1为35数对。
- 观察黄框中r8,如黄线所示,利用5对该行进行排除,推得r8c1为5,r9c1为3。
此步的关键在于利用4宫中的5排除掉7宫中的c2不能为5,主要还是区块排除的思想。
紧接着此步同样利用4宫中的数对进行第二步的推理:
- 如红线所示,4宫中的9必在c2上,推得7宫中的9必在r7上(红×所示),进而推得9宫r7c9格必不是9;
- 如黄线所示,3宫上的9先对6宫进行排除,推得9必在c8上(黄×所示);再对9宫进行排除,推得9位于r9c9上。
这一步同样利用区块排除的思想,将待填数限定在某一行/列上,再对相邻行/列/宫进行排除。
这两步推理后,其余数字的推理都很简单,运用基本技巧便可解题。答案如下:
VX数独
原题如下:
根据基本原则可快速推理写出:
通过9宫进行推理:
- 对红框X两旁格进行推理,由9宫内的6 4 9及r8c6格上的2,可推得红框内为3-7组合;
- 由1结果,可推得r7c9为2,进而推得黄框内V旁两格为1-4组合,r6c9为6或9;由于r9c9为9,可推得r6c9为6,进而推得r6c8为4,r7c8为1;进而可确定r9c7,r9c8为58数对,进而推得绿框内为732,并可进一步1宫4宫7宫其他数字,结果如下:
可看出,红框里剩余数字为1-9 4-6组合。
根据r6可推理出1-9,4-6组合的位置,再根据r2与r7推得准确数字,可得:
剩下的部分便可轻松解出,答案如下:
4/3
VX数独:
原题如下:
这道题起手能填出的数并不多,填完四个数后便要开始进行推理:
见红框内X旁两格,见下格下方还有V,则上方必须为6789,同宫的6将6排除,r6上的1将9排除,则红框内上方格子只能为7或8。通过此步可确定:
下一步的推理如下:
- 首先看红框内X旁两格,同宫4排除4-6组合,c8c9上皆有2与3,排除2-8 3-7组合,则两格内必为1-9组合;
- 看c7,第1步中的1-9组合确定c7上的9必不在r1r2上,则可推得r8c7格为9。
可推得:
再对c7进行推理:
c7仅剩3和6,由于r1c8格为4且格旁无×,则r1c7格不能为6,必为3,r2c7为6,进而推得r1c6为7,r2c6为8。
这一步推理完后,其他部分便可简单推理得到,答案如下:
4/4
VX数独
原题如下:
这道题看起来跟昨天那道题实在太相似,以致于我以为两天刷出了同一道题。起手能填的出不多,但跟昨天的推理相似:
先说明一下,起手所填的数仅有6宫中的4和2。
- 先对红框X两旁格进行推理,由于上格上方有V,则表明下方格子必为6789,同宫6排除6,6宫上的1排除9,则该格子为7/8,由此可将图中其他数推理得出;
- 下一步观察黄框内X旁两格,同列14排除1-9,6-4组合,同宫3-7排除3-7组合,则框内为2-8组合,由于同宫已存在2,可推得上格为8,下格为2。
进一步推理可得到图中情况:
与昨天推理方法一致,再确定了9宫红框内X旁两格为1-9组合后,通过列排除推得r2c7格为9,然后便可进一步推理,得到下图情况:
见r7,如红框所示,所缺数字为648。可见r7c1,r7c2两格上方有X,r6上存在6,则表明r6c1,r6c2格不得为6,推得r7c1,r7c2两格不得为4,4位于r7c6格上。
进一步推理可得到:
余下部分便可轻松推出,答案如下:
4/5
VX数独:
原题如下:
起手能够快速写出9宫2-3组合,再加以推理:
由c8存在的238和6宫存在的9可推得c8X旁两格为4-6组合,又因r7c9的1与左边格子间无X,推得r7c8为6,进而推得r6c8为4,r6c7为6。
又此便可继续推理:
由r6对r6c2格进行推理,由于r6已存在6与4,因r6c3格旁有V且r6c2与r6c3间有X,则表明r6c2必为7或8,由此推理得到:
下一步对6宫进行推理,由于宫中已存在649,则宫内带X的四格必为2-8,3-7组合。先看c8,由于列中已存在238,则r5c8格为7,同理对r4进行行排除,可得r4c9为8。
进一步推理可得到:
可推得1必在4宫红框中两格间,故4宫r4上X旁两格未必4-6组合,由于c3已存在6,可得r4c3为4,并推得旁边三格数字。
余下部分便可轻松求解,答案如下:
4/6
VX数独:
原题如下:
今天做的不太好,推理到一半后发现了一个错误,于是擦掉重新做了,后来才发现是自己太不小心所导致。由于一会要去开会,在这里就只把前面的几步进行解析:
见红框中c6,r5r6的79数对是推理得到的结果。由于r5r6右边有X,且6宫2已存在,可知X右边格子不能为2,则X左边格子不能为8,可推得r3c6为8,r5r6为79数对。
与前面曾经讲过的解法一致,8宫1排除了c5上r8r9的1,则1必在r2c5格中。后面的解析由于时间原因无法细细解释,都还是利用VX数独及标准数独的一般解法求解,原题答案如下:
4/7
VX数独
原题如下:
按照原则进行推理,推着推着就推出了大部分的数以及满满的1-4,6-9组合,终于到后来发现了突破口:
根据1宫中的13,可推出几个数字(红字所示),进一步推理可得:
余下部分便可简单推出,答案为:
4/8
千题千解二-08
做了两个多小时都没做出来,今天真是感到莫大的挫败感,一度以为自己碰到了传说中BUG(全双值坟墓),后来才知自己早已犯错。
原题如下:
前面的推理还是正确的,就把做对的说一下吧:
- 如红线所示,9宫4宫1对6宫进行排除,推得6宫中1必在c9上,进而对3宫进行排除;
- 如黄线所示,4宫1对1宫进行排除,推得1宫中1必在r1上,进而排除2宫r1;再如绿线所示,8宫1对2宫进行排除,推得2宫中1必在r2上;
3.结合前面的结论,对3宫进行排除,推得3宫中1位于r3c7上。
接下来可继续对1进行推理:
- 如红线所示,4宫8宫1对5宫进行推理,推得5宫1必在r4上,进而结合9宫1推6宫1位于r5c9格。
下面利用了数对及行排除:
1.看r1,6宫中的49数对排除了r1c8格的4;
2.5宫4对8宫进行排除,推得8宫4必在c5上,进而排除r1c5格的4;
3.结合12结论,得4位于r1c4格中。
接下来我便在某步中犯了错= =#(我也不知道哪错了,真是很绝望呀)。
这里将错就错,说一下我接下去的推理:
关注r7,利用直接写候选数的方式,可以将r7上的候选数写出(橙字所示);
这里直观发现58数对是比较困难的,所以当真的想不出该如何解题时,就应该逐步将候选数写出来,也许写着写着就会发现解题的新思路。
写完后我们可以看到58数对,进而排除c1c2格的8,紧接着又发现了14数对,这时便可推理出c7上为6。
此步之后,解着解着我就发现我错了,于是重写了一遍,特别欣喜的发现了BUG的局面,但实际我遇到的是个伪BUG+1,因为我已经错了。实在无心解题,这里就讲一讲何为BUG+1。
BUG=Bivalue Universal Grave,译为全双值坟墓。
即所有格都有两个取值,此处只要确定某一格的某个数,便可顺势将其他格子的数推出。
但实际上这种局面是不允许出现的,因为数独题的一个基本原则便是:唯一解。
BUG+1便是为避免BUG情形出现的一种解题思路。先看看我是怎么遇见这个情况的(虽然是个错误例子,就当个反面教材好了)
显然4宫的两个8就是错误之处。
这里首先运用了强-弱-强链来进行排除。关于链的部分,我自己目前对其的理解还不够深,所以我会试图在理解清晰后再进行总结。
我试着不用链,用另一种方式讲解。首先我用XY来代表5的真值:X={0,1},Y=1-X。
即X与Y真值相反。
这样便可写出:
如图所示,对r9c6格而言,r9与c6有一个X,一个Y,由于XY真值相反,则表明r9c8格与r2c6格间必有其中一格为5,则可排除r9c6格的5。
接下来便是这个局面:
可以看到,除了黄框格子之外的其他格都只有两个候选数。这便是BUG+1局面,其中的+1便是指黄色格。当此格填入2或9时,整个局面就会变成全盘的BUG局面。所以需排除2与9(如果其他格子正确的话)。那面对BUG+1局面要怎么快速排除呢?
这样来看,观察r5,2出现了两次,4出现了三次,9出现了两次。
观察c2,1出现了两次,2出现了两次,4出现了三次,9出现了两次。
需要排除的,便是在其行/列/宫出出现两次的数字。
这个局面碰到的情况很低,所以我才觉得有点兴奋,可惜我错了。将错就错总结总结BUG+1吧。
4/9
千题千解二-08
起完床吃完早餐,第一件事就是把昨天没做出的题目再做一遍,有了先前的错误经验,这次一鼓作气便拿下。答案如下:
VX数独
原题如下:
根据规则可快速推出:
观察r5,可知缺少695。由于c6中已存在69数对,故r5c6为5,而另外两个为69数对。进而推理出5宫中的其他数字。
紧接着推理,可得到如图所示的情况:
下一步是关键一步,稍微复杂,自己的标注也有点凌乱:
- 先对1宫进行推理,由c3可知r2c3、r3c3两格为59数对。观察r2c1格,1宫中已存在23数对以及7或8。若此格中填入7或8与r1c3构成78数对,由于r1c2,r1c3两格间存在X,则另一对23与78间也必须存在X才可成立。但r2c1与r2c2间不存在X,所以此格不能为7或8,只能为6,r1c1格为7或8。
- 通过1宫中的6可推得r2c6格为9,进而推理出2宫其他数字;
- 由红线所示,通过2宫中的9推得r2c3为5,r3c3为9;
- 观察c1,r8c1与r9c1格间存在X,结合1步结论,可知此两格为1-9数对,由c9上的1推得r1c8为1,r1c9为9(黄色字体所示);
- 3宫V旁两格必为23数对,则r2c8格为7或8,由于r2上已存在8(绿框所示),则r2c8为7,进而推得r1c7为2,r2c7为3。
总结下来,其实还是根据VX数独的特殊规则进行逐步的推理,得到结果。
继续推理下去,可得到:
很明显的找到1宫中的7为突破口,进而推理出部分数对中的数字。余下部分便可轻松的推理得出,答案如下:
4/10
千题千解二-09
原题如下:
这道题起手可填的数字不多,推理起来也不容易。首先进行如下推理:
- 如红线所示,2宫中的23对三宫进行排除,推得r3上的23必在c7c8c9的其中两格中,排除r3c1格的2与3;
- 如黄线所示,8宫中的5对2宫进行排除,推得r3上的5必在c4c5两格间,排除r3c1格的5;
- 利用唯一余数法可推得该格为7。
继续进行推理后,得到了一个三链数,或者称为三数数对,前面我所说的数对都是两个数,这里扩展到了三个。一般来说,这种情况不是太容易直接看出来,还是需要通过标记候选数来慢慢推理得到。解析如下:
- 第一步是得出6宫内红框内的候选数为123。3宫内的候选数可以直接写出。这时,观察9宫红框中的三格,由宫内其他候选数,可推出6和9两数必然在此两格间,进而排除6宫红框格的69,写出候选数为123。
- 观察r5c1格(推理前宫内候选数为23),r5c8和r5c9格,构成了123的三链数,表明r5上的123必在此三格内,排除黄色框内的123,故可推得该格为5。
- 如绿线所示,7宫2对4宫进行排除,推得r5c1为2,进而推得r2c1为3。
这也是我第一次碰到三链数的情况,只要按部就班地推理,再在恰逢其时的时候用上稍微高级的技巧,绝大多数题目都可推理出来。本题余下的部分近通过简单技巧,便可推理得到,答案如下:
4/11
VX数独
用了好一阵子,才发现oubk网站可以分享解数独的过程录像,那么从今天开始,我将选用oubk的题库,并在最后放上我的解题录像。
原题如下:
这道题是VX数独中的高级题,但我这么多天做下来,对VX数独的解算是比较了解。我花了3分55秒完成,才排第三,还有进步的空间。
还没把最开始能直接填的数填完,我就发现了能够推理的地方便开始了推理:
2宫中的2-3限制了r3c6下V旁两格为1-4组合,进行推理得到r4c7格为6或9,通过9宫的6推理得到r4c7格为9,进而将红字所示的数字推理得出。
下一步的局面也不难推理出来:
- 根据9宫的69和r9的7利用唯余法推得r9c2为8,进而推得其他红色数字;
- 根据红色数字部分可推得上方V两侧格子为1-4组合,再由2宫的4推得r2c2为4,并推得其他黄色数字。
紧接着推理可得到如下局面。
余下的部分便可轻松解出,答案如下:
4/12
VX数独
由于oubk能够记录录像,为了让录像好看点,我采取的做题方式是速度优先,全题做完后再回过头来进行解析。所以有些时候在做题中会有明显的数没有填出,可能会复杂化了解题过程,这都是我在解析时能够发现并取得进步的地方。这道题为VX高级题,花了4分03秒完成,还有很大的进步空间。
原题如下:
这道题起手能直接填的数字很多,但显然我还是疏忽了,有个数字没注意到,直到最后才填上。
下一步的推理为:
- 观察r7,缺少的数字为458,由9宫的8排除c9格,由于7宫的2左侧无X,排除c3格,可推得8位于r7c1格中;
- 通过c2的4排除r7c2格,推得4位于r7c9格,进而推得5位于r7c2格。
紧接着此步推理下去,可推理得到以下局面:
剩余部分也能很轻松的推理得到,答案如下:
明天开始挑战VX骨灰级难度题目~
4/13
VX骨灰级挑战
第一次挑战骨灰级题目,8分钟,觉得会有进步空间,这几天会抓紧练习,原题如下:
快速写出部分数对后,便可开始进行推理了,如图:
- 观察5宫,先对6进行推理。c5的46数对及5宫中的4对5宫进行排除,推得6位于r6c4格;
- 通过c5的23数对推得5宫中2位于r5c4格中,再用2排除相邻格的8推出5宫的8与5。
紧接着便可推出46宫中的大部分数字,再利用2宫中的两对X格子,进行推理:
- 观察c5,利用唯余法推得r1c5为7;
- 由c4上的246推得2宫c4上X旁格为1-9组合,通过r1的1将两数确定;
- 此时可推得另一对X旁格为4-6组合,以r2的4将两数确定。
紧接着将其他X旁数对先写出,再逐步推理,便可解出。
本题答案为:
本题解题录像
骨灰级还是能做出来D~