上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
题目10 数组+组合区块
数独规则:填入1~9,使得每行、列、宫内数字不重复。
这道题需要灵活使用多种技巧才能解题。首先,我们可以通过基本功解到下图所示的盘面。此时注意第五宫未填出的部分是27的数对,因此我们观察第二行,数字2、3、6都只能在灰色部分,构成行列数组,因此这些格子里不能填入其他的数字。
在得到浅灰色部分的236数组之后,我们再观察第一宫。数字4、8、7只能填在深色部分,构成一个宫内的数组,这里不能再填入其他数字,因此数字1只能在圆框部分,构成区块。这个区块对于第七宫进行排除,得到第七宫的数字1在星格。
得到这里的数字1之后,我们观察第八列,得到第八列中数字1只能在圆框中,构成区块,删减B9的1,得到B9的唯一余数。这里也可以通过组合区块去理解。第六宫和第九宫的数字1都只能在第七和九列,这两列中只能有两个1,因此这两列里其余部分都不能是1,可以删减B9格。组合区块的思路非常灵活,可以与行列观察的视角互相转化,读者可以自行进行思考。
之后还有一个难点,依旧可以通过组合区块进行观察。还是数字1的区块,在第二宫和第三宫里都只能在第二行和第三行。因此这两行里其余位置都不可能填入1,得到第一宫的1在星格。这里转化成行列也可以观察,三宫的区块对第一行进行删减,结合排除可以得到星格的1。在这道题中利用了数组和组合区块的思路,对技巧的掌握较高。