數(shù)獨(dú)是一種可愛(ài)的益智游戲。它需要你在空格內(nèi)填入1到9的其中任意一個(gè)數(shù)字,使得每一行、每一列以及每一個(gè)正方形的小九宮格內(nèi)的數(shù)字都不能夠有重復(fù)數(shù)字。例如下面三個(gè)盤(pán)面格子(以后均簡(jiǎn)稱(chēng)盤(pán)面)所示,分別是行、列和小九宮格(以后均簡(jiǎn)稱(chēng)為宮)不重復(fù)的情況。



盤(pán)面1到盤(pán)面3
當(dāng)然,整個(gè)盤(pán)面的每一行、每一列和每一個(gè)宮都得做到像上面三個(gè)圖所示的那樣,不重復(fù)。只要有兩個(gè)數(shù)字相同了,那就一定錯(cuò)了。 數(shù)獨(dú),顧名思義,數(shù)字的出現(xiàn)必須要“獨(dú)”,也就是不得重復(fù)。但是“獨(dú)”不僅僅只有這個(gè)意思。它還有一“獨(dú)”,是任意合格數(shù)獨(dú)盤(pán)面都只有唯一的一個(gè)答案,這被稱(chēng)為唯一解定理(Unique Law)。說(shuō)白了,每一個(gè)格子都只有唯一的一種填法。這樣,才能真正體現(xiàn)數(shù)獨(dú)的“獨(dú)”的特性。這樣才叫“獨(dú)”之道。 每一個(gè)數(shù)獨(dú)盤(pán)面最少都得有17個(gè)用于推理解題的提示數(shù)(Hints/Clues),因?yàn)榻?jīng)電腦演算發(fā)現(xiàn),能夠保證唯一解的數(shù)獨(dú)盤(pán)面至少都得17個(gè)提示數(shù),但目前暫未發(fā)現(xiàn)其邏輯證明手段。如果提示數(shù)少于17個(gè)的話(huà),那么它一定是一個(gè)多解題,這樣的題就是不合適的。但是,也并不是隨意寫(xiě)上17個(gè)提示數(shù),就一定是唯一解的數(shù)獨(dú)題。
在任意一個(gè)數(shù)獨(dú)中,每一行我們記為字母A到I,而每一列我們記為數(shù)字1到9。那么在第3行的第6格我們就會(huì)簡(jiǎn)記為“單元格C6”,而其前面的單元格三個(gè)字可以被省略。
 盤(pán)面4

盤(pán)面5
上面有4個(gè)數(shù)字,那么我們可以將“第5行第5格內(nèi)是數(shù)字1”簡(jiǎn)記做“E5=1”;同理,其他的3格可以記作“A3=9”、“C7=5”和“H7=6”。 單獨(dú)只說(shuō)第3行的話(huà),就可以直接記作“行C”,第6列就記作“列6”。如果單元格C7在哪個(gè)宮,則是按照從左到右、從上到下的順序依次排序得到的宮的編號(hào),如盤(pán)面5所示,A3在宮1,C7在宮3,等等。
還有一種表示方法。 我們提到的行、列、宮的概念,它們被統(tǒng)稱(chēng)為單元(Unit)或者區(qū)塊(Region);而每一個(gè)格子,則都被叫做單元格;另外,盤(pán)面上給出的所有已知數(shù)字,我們都稱(chēng)為“提示數(shù)”。那么,第1行第2格就可以采用“行1列2”的形式表示,并簡(jiǎn)寫(xiě)為“R1C2”;“宮3的單元格C7”可以記作“R3C7(B3)”。其中,R、C、B就分別代表行、列、宮,都是對(duì)應(yīng)英文單詞的縮寫(xiě)。 這兩種表示方法中,字母C都會(huì)被用到,所以應(yīng)注意區(qū)分:一個(gè)代表第3行,而另一個(gè)則是“列”的簡(jiǎn)稱(chēng)。 另外,在任意一個(gè)數(shù)獨(dú)盤(pán)面中,每個(gè)單元格都有19個(gè)共軛單元格(Peer)。例如盤(pán)面4內(nèi)的E5,由于它屬于行E、列5和宮5,所以它的共軛單元格有行E的所有單元格、列5的所有單元格和宮5內(nèi)的所有單元格。這樣,就有19個(gè)共軛單元格。這20個(gè)單元格稱(chēng)為數(shù)獨(dú)20格定理(Peers' Law)。
標(biāo)準(zhǔn)數(shù)獨(dú)大體可以分為3個(gè)類(lèi)型。 第1類(lèi),是可以根據(jù)數(shù)獨(dú)的規(guī)則,直接觀察就可以填入數(shù)字的題目,這一類(lèi)只會(huì)使用到一些簡(jiǎn)單的邏輯推理方法; 第2類(lèi),是可能不能靠直觀直接填數(shù),而需要靠一些格子里面可能填入的“候選數(shù)”根據(jù)特定定式推理分析得到的矛盾情況,從而排除部分情況,以這樣的方式完成的題目; 第3類(lèi),則是根據(jù)定式都沒(méi)法完成的題目,需要自己尋找各個(gè)位置候選數(shù)的信息,根據(jù)邏輯推理,找到一些關(guān)系,從而刪掉一些不可能的情況的題目,但是,與第2種不同的是,它沒(méi)有定式,形狀都是比較靈活的,不容易觀察到。 例如,我用Hodoku打開(kāi)一個(gè)題目,如盤(pán)面6所示。

盤(pán)面6
這是一個(gè)數(shù)獨(dú)盤(pán)面。每一個(gè)空格子內(nèi)都有很小的灰色數(shù)字(請(qǐng)放大后仔細(xì)觀察——編者注),那個(gè),我們叫做候選數(shù)(Candidates),它表示在當(dāng)前格子內(nèi)可以填入的所有情況。但是,一般情況下,候選數(shù)都是沒(méi)有標(biāo)注出來(lái)的,這意味著需要自己標(biāo)注。所以這一類(lèi)題目不如第1種題目簡(jiǎn)單。 另外,紅色數(shù)字表示題目給出的提示數(shù),黑色數(shù)字為填入的數(shù)字,下面的盤(pán)面將不再解釋。 有了大體的了解后,下面就開(kāi)始技巧講解。
---> 宮摒除法(Blocked Hidden Single) 摒除法是最簡(jiǎn)單、基礎(chǔ)的解題技巧。由于標(biāo)準(zhǔn)數(shù)獨(dú)的規(guī)則中說(shuō)到“填入數(shù)字使得每一行、每一列以及每一個(gè)宮內(nèi)的數(shù)字均不重復(fù)”,而每行、每列以及每宮都有9個(gè)單元格,而又必須填入1~9這九個(gè)數(shù)字,所以我們就應(yīng)該知道,1~9這9個(gè)數(shù)字,每個(gè)數(shù)字都要出現(xiàn)。正是因?yàn)?~9都要出現(xiàn),所以我們有了這樣一種技巧。 它被分為兩種類(lèi)型,一種是宮摒除法,另一種是行列摒除法。 宮摒除法是在宮內(nèi)進(jìn)行摒除的辦法。我們來(lái)看一個(gè)例子(盤(pán)面7):

盤(pán)面7
如盤(pán)面7所示。我們可以觀察到,數(shù)字3在宮1內(nèi)只有唯一的一個(gè)位置可以填,就是A3。由于列1、列2中已經(jīng)出現(xiàn)了3,并且行B、行C也出現(xiàn)了3,所以在宮1內(nèi),3的位置將不得出現(xiàn)在A1、A2、B2、B3、C2、C3這6格。而由于宮1內(nèi)必須出現(xiàn)數(shù)字3,所以只能填入A3處。因此,A3=1,即如盤(pán)面7所示。 以上技巧由于在宮內(nèi)得到結(jié)論,所以就被稱(chēng)為宮摒除法。 有些書(shū)籍將數(shù)獨(dú)的規(guī)則寫(xiě)成“填入數(shù)字1到9,使得數(shù)字1~9在每一行、每一列和每一宮內(nèi)都各出現(xiàn)一次”。這樣寫(xiě)其實(shí)并不太好,因?yàn)檫@種規(guī)則的并沒(méi)有說(shuō)明“不重復(fù)”這一層意思。所以在此處,我將“不重復(fù)”的說(shuō)法當(dāng)作了數(shù)獨(dú)的規(guī)則。 宮摒除法是在宮內(nèi)進(jìn)行摒除的方式,而行列摒除法則是在行或者列中進(jìn)行摒除的方式。放在之后的例子就可以清晰地給出。
---> 行列摒除法(Linear Hidden Single) 行列摒除法分為兩種,一種是行摒除法,即關(guān)于某一行進(jìn)行摒除;而另外一種是列摒除法,即關(guān)于某一列進(jìn)行摒除。來(lái)看盤(pán)面8。

盤(pán)面8
如盤(pán)面8所示。我們可以觀察到,在行D中,數(shù)字3的位置僅僅只能填在列1的H1處,因?yàn)榱?內(nèi)有5個(gè)空格,提示數(shù)3的位置使得A1、B1、C1、E1不得填入3,因此3被理所當(dāng)然地“框”在了H1處。所以,H1=3。 在做題過(guò)程中,可以采用圖中的這種劃線(xiàn)的方式來(lái)看,直到某一行、列或?qū)m內(nèi)只有唯一的單元格沒(méi)有被“掃”過(guò),那么它就理所應(yīng)當(dāng)?shù)靥钸M(jìn)去了。上題是關(guān)于列1進(jìn)行摒除的,所以它被稱(chēng)為列摒除法。而盤(pán)面9有一個(gè)行摒除法,請(qǐng)找出來(lái)。

盤(pán)面9
---> 可直觀區(qū)塊摒除法(Direct Intersection) 區(qū)塊摒除法是特殊的摒除法,它和之前的摒除法有一些許的不同。它分為兩種。

盤(pán)面10
如盤(pán)面10所示。我們發(fā)現(xiàn)在宮2中,3的位置無(wú)論是在B5還是B6,都恰好在行B。但是無(wú)論怎么說(shuō),這兩個(gè)位置都必須有一個(gè)數(shù)字填入3,因此行B的其余位置都不能填3。因此,行B的其他單元格都不再可以填3。此時(shí)我們發(fā)現(xiàn),列8僅僅只有B8、D8可以填3。但是由于B8不能填3了,所以只能D8=3。 由于這是對(duì)行B進(jìn)行的摒除,因此這種技巧也就被稱(chēng)為行列式區(qū)塊摒除法(Direct Pointing)。 當(dāng)然,也同樣有宮式區(qū)塊摒除法(Direct Claiming)。來(lái)看盤(pán)面11。

盤(pán)面11
如盤(pán)面11所示。 我們看行C,行C內(nèi)填入7的位置只有C5和C6(C3被H3排除,C7被D7排除,C9被G9排除)。恰好,C5和C6又同時(shí)屬于宮2,那么宮2里面的其余單元格內(nèi)都不能填入7了。再看行A,行A內(nèi)本來(lái)可以在A4、A6和A8內(nèi)填入7的,由于A4和A6也同時(shí)屬于宮2,被排除了,所以只有A8能填入7,所以A8=7。 如果說(shuō)可以根據(jù)一次區(qū)塊摒除法這一技巧就可以直接得到填數(shù)結(jié)論的,可以被稱(chēng)作“可直觀”的。 在做題過(guò)程中,可以采用圖中的這種劃線(xiàn)的方式來(lái)看,不過(guò)這里由于是區(qū)塊摒除法,所以有些地方不一定很直觀,就得需要自己做題中進(jìn)行鍛煉,才能很快看到它們。
---> 唯一余數(shù)法(Naked Single) 唯一余數(shù)法,簡(jiǎn)稱(chēng)唯余法,是一種某個(gè)單元格中被摒除法排除情況后,只剩下1~9的其中某個(gè)數(shù)字沒(méi)有填了,從而得到它就是此單元格的值的解法。

盤(pán)面12
如盤(pán)面12所示,給出了如上的提示數(shù),普通的摒除法和區(qū)塊摒除法已經(jīng)無(wú)法幫助我們找到可填的數(shù)字了。這個(gè)時(shí)候我們觀察I9。 I9同時(shí)屬于行I,列9和宮9,就看這三個(gè)單元,我們發(fā)現(xiàn)一共出現(xiàn)了1、9、4、3、5、6、7、2這些數(shù)字。根據(jù)摒除法的規(guī)則,I9的位置將不得填入它們。神奇的是,在這九個(gè)數(shù)字中,單單只有8沒(méi)出現(xiàn)。根據(jù)我們?cè)谥暗霓鸪ㄖ型瞥龅臇|西,即“1~9的每個(gè)數(shù)字都要出現(xiàn)一次”,得到結(jié)論,I9=4。 唯一余數(shù)法也可以適用于僅在同一個(gè)單元內(nèi)部的推理,也稱(chēng)為點(diǎn)算(Full House)。
5. 請(qǐng)找到如下盤(pán)面中會(huì)使用到唯一余數(shù)法的所在單元格:?jiǎn)卧瘢ā 。?( ?。?。

|