數(shù)獨(dú)方法簡(jiǎn)介_第1頁
數(shù)獨(dú)方法簡(jiǎn)介_第2頁
數(shù)獨(dú)方法簡(jiǎn)介_第3頁
數(shù)獨(dú)方法簡(jiǎn)介_第4頁
數(shù)獨(dú)方法簡(jiǎn)介_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)獨(dú)技巧(Sudoku Strategies)數(shù)獨(dú)快速入門(上篇)數(shù)獨(dú)快速入門(中篇)數(shù)獨(dú)快速入門(下篇)數(shù)獨(dú)快速入門(上篇)范例一: 在左邊第一個(gè)九宮格里,哪格可以放數(shù)字, 先看到再第一列和第二列里已經(jīng)有了數(shù)字, 所以很明顯了,除了棕色格子之外,上面兩列格子已經(jīng)不能放了。 范例二: 換個(gè)進(jìn)階范例來看看, 已知第一列和第二列不能放,但僅就第三列而言,的旁邊似乎都可以放的樣子, 但再看看被顏色標(biāo)示的第三行, 看到第三行有之后,就知道棕色格子應(yīng)該放。 范例三: 來個(gè)更進(jìn)階點(diǎn)的,想想左上角第一個(gè)九宮格里,哪一格可以放, 再看 先看看前兩列,應(yīng)該不能放, 看被顏色標(biāo)示的第二行與第三行,又是不能放, 很

2、顯然的,就只有棕色格子能放。 范例四: 再看看這個(gè)重要范例,想想左上角第一個(gè)九宮格里,哪格可以放, 先看看被顏色標(biāo)示的第二列, 再看看被顏色標(biāo)示的第二行, 經(jīng)過分析后可知要放在這棕色格子。 范例五: 換個(gè)輕松點(diǎn)的范例, 看看第一列,數(shù)字有哪些, 顯而易見的就是缺。 數(shù)獨(dú)快速入門(中篇)范例一: 看看這個(gè)比上篇難的,想想能放在哪里呢, 被顏色標(biāo)示起來的第一列和第一行已經(jīng)不能放了, 就左上角的九宮格而言,在紅色標(biāo)示區(qū)域似乎是可以擺的, 但在這里而言,似乎無法決定放在兩格紅色區(qū)域的哪一格, 所以,可以先看看鄰近的九宮格,發(fā)現(xiàn)到棕色格子能放喔,這時(shí)候就不用懷疑馬上寫下。 范例二: 看看這個(gè)有技術(shù)性的,

3、想想能放在哪里, 看到黃色的第一列已經(jīng)有,所以不能再放了, 就中央的九宮格而言,合理的推論,一定是在第二列中央紅色三格的其中之一了, 既然知道第二列的情況,再考慮黃色區(qū)域后, 那么可以先確定右方九宮格的必然放在這棕色格子。 范例三: 由上篇的概念再進(jìn)階,考慮這上面三個(gè)九宮格,看看能否決定的位置, 黃色標(biāo)示的第三行已先被排除, 就第一個(gè)九宮格而言,一定在紅色區(qū)域, 就黃色標(biāo)示區(qū)域來看,已不能再放了, 這時(shí)可以馬上先決定右上九宮格里的棕色格子是能放的啦。 范例四: 看到這左上方九宮格的第一列,就可以馬上知道缺了哪兩個(gè)數(shù)字, 是不是已經(jīng)看出紅色格子不是就是了, 但是又看到第二行有,所以很輕松知道左上

4、棕色格子一定是, 接下來就確定在紅色格子了。 范例五: 先看看這第一列, 左上方的九宮格里,第一列絕對(duì)有、, 再考慮到第一行黃色區(qū)域,看到有和, 這下就可確定絕對(duì)放在左上角的棕色格子。 數(shù)獨(dú)快速入門(下篇)范例一: 來看看這個(gè)高級(jí)進(jìn)階例子,可以先把眼光放在第一列和第一行, 看到在黃色區(qū)域里都有和,所以此黃色區(qū)域已經(jīng)不能再放和了, 這時(shí)可以考慮到左上九宮格里的紅色格子能放和, 再看到第一列和第三列的黃色區(qū)域,這黃色區(qū)域里已經(jīng)不能放, 在左上九宮格里,能放的只有紅色與棕色格子,但紅色格子將會(huì)被和所占據(jù),所以能確定棕色格子必然為。 范例二: 看看左上方九宮格里,能否由些微線索決定的位置, 首先,看到

5、第一列后先排除、,又因左上方九宮格里有、,再排除這三個(gè)數(shù)字,這下,在左上方九宮格的第一列,只剩下、可以填,然后,又看到第一行有和,所以,棕色格子必然不會(huì)是和,那么,就只剩下可以填入啦! · 直觀法(Direct Elimination Techniques) · 候選數(shù)法(Candidates Elimination Techniques) 直觀法(Direct Elimination Techniques)經(jīng)常在報(bào)章雜志上看到的數(shù)獨(dú)謎題,一般就算再難都可以用直觀法來解決。它不需要象候選數(shù)法(Candidates Elimination Techniques)那樣在每個(gè)空白

6、的單元格中用鉛筆填上一大堆候選數(shù)。你只要有相對(duì)銳利的眼光和一定的邏輯分析能力,就可以準(zhǔn)確地把空余的數(shù)字逐個(gè)填出來。實(shí)際上,直觀法就是對(duì)數(shù)獨(dú)游戲規(guī)則的充分利用。雖然它并不如候選數(shù)法(Candidates Elimination Techniques)那樣強(qiáng)大,但通常要想體會(huì)解決數(shù)獨(dú)謎題的樂趣,使用直觀法卻是不二之選。直觀法(Direct Elimination Techniques)具有以下的特點(diǎn):輕松上手。 即便是數(shù)獨(dú)新手,在拿到謎題的一剎那,就可以用直觀法來解題了。 無需輔助。 在紙上解題時(shí)一般只需要一支鋼筆就可以。因?yàn)槭峭ㄟ^推理和邏輯分析來確定哪個(gè)格填哪個(gè)數(shù),或是哪個(gè)數(shù)填在哪個(gè)格里,所以基

7、本不需要猜測(cè)。容易掌握。 對(duì)于直觀法(Direct Elimination Techniques)中應(yīng)用的各種算法,可以很快掌握并應(yīng)用于實(shí)際中。 相對(duì)簡(jiǎn)單。比起候選數(shù)法(Candidates Elimination Techniques),它的算法相對(duì)比較簡(jiǎn)單,當(dāng)然能解決的謎題的復(fù)雜度也相對(duì)要低。在直觀法(Direct Elimination Techniques)中,常用的算法包括:1.單元唯一法 ( Sole Position Technique ) 2.單元排除法 ( Basic Elimination Technique ) 3.區(qū)塊排除法 ( Block Elimination Te

8、chnique ) 4.唯一余數(shù)法 ( Sole Number Technique ) 5.組合排除法 ( Combination Elimination Technique) 6.矩形排除法 ( Rectangle Elimination Technique) 1.單元唯一法 ( Sole Position Technique ) 這應(yīng)該算是直觀法中最簡(jiǎn)單的方法了?;旧现恍枰粗i題,推理分析一概都用不上,這是因?yàn)橐褂盟铦M足的條件十分明顯。同樣,也正是因?yàn)樗?jiǎn)單,所以只能處理很簡(jiǎn)單的謎題,或是在處理較復(fù)雜謎題的后期才用得上。 我們先來看一個(gè)例子:在上圖中,觀察行B,可以看到除了B3外,

9、其他所有的單元格中都已有了數(shù)字,根據(jù)數(shù)獨(dú)游戲的規(guī)則,即每行,列或區(qū)塊中不能有重復(fù)的數(shù)字,則B3中能填入的數(shù)字只能是行B中所未出現(xiàn)過的,也就是數(shù)字3。所以可以毫不猶豫地在B3中填入3。這就是單元唯一法在行中的應(yīng)用。這里的單元(Unit, or group),指的是行,列或區(qū)塊。所以有三種情況:當(dāng)某行有8個(gè)單元格中已有數(shù)字,或 當(dāng)某列有8個(gè)單元格中已有數(shù)字,或 當(dāng)某區(qū)塊有8個(gè)單元格中已有數(shù)字。 無論是哪種情況,我們都可以很快地在該行,列或區(qū)塊剩余的空格中填入該單元還未出現(xiàn)過的數(shù)字。下面是單元唯一法在列中的應(yīng)用: 在第7列中,只有F7未填入數(shù)字,且這一列中數(shù)字8還未出現(xiàn)過。所以F7 = 8。在區(qū)塊中

10、也是一樣:在起始于D7的區(qū)塊中,只有E7還未填入數(shù)字,且這個(gè)區(qū)塊中數(shù)字5還未出現(xiàn)過,所以可以馬上在E7中填入5。單元唯一法在解題初期應(yīng)用的幾率并不高,而在解題后期,隨著越來越多的單元格填上了數(shù)字,使得應(yīng)用這一方法的條件也逐漸得以滿足。 2.單元排除法 ( Basic Elimination Technique ) 單元排除法是直觀法中最常用的方法,也是在平常解決數(shù)獨(dú)謎題時(shí)使用最頻繁的方法。使用得當(dāng)?shù)脑?,甚至可以單?dú)處理中等難度的謎題。使用單元排除法的目的就是要在某一單元(即行,列或區(qū)塊)中找到能填入某一數(shù)字的唯一位置,換句話說,就是把單元中其他的空白位置都排除掉。它對(duì)應(yīng)于候選數(shù)法中的隱式唯一法

11、。那么要如何排除其余的空格呢?當(dāng)然還是不能忘了游戲規(guī)則,即行,列或區(qū)塊中不能有重復(fù)的數(shù)字。從另一個(gè)角度來理解,就是如果某行中已經(jīng)有了某一數(shù)字,則該行中的其他位置不可能再出現(xiàn)這一數(shù)字。如果某列中已經(jīng)有了某一數(shù)字,則該列中的其他位置不可能再出現(xiàn)這一數(shù)字。如果某區(qū)塊中已經(jīng)有了某一數(shù)字,則該區(qū)塊中的其他位置不可能再出現(xiàn)這一數(shù)字。單純理解上面的規(guī)則還是不足以解題,但是在實(shí)踐中這些規(guī)則卻可以交叉使用。在實(shí)際解題過程中,應(yīng)用最多也最方便的是對(duì)區(qū)塊的單元排除法,我們可以先看下面這個(gè)例子:對(duì)于起始于D1的區(qū)塊,其未填數(shù)字的空格有6個(gè)之多,如果不使用單元排除法,是很難為這一區(qū)塊填入任何數(shù)字的。這時(shí)我們就可以利用行

12、,列及區(qū)塊的相互關(guān)系,即一個(gè)單元格既在某一行上,也同時(shí)在某一列上以及某一區(qū)塊中的這種關(guān)系來解題。觀察數(shù)字9在謎題中的位置,可以看到它出現(xiàn)在B2,A4,C7,D8,I1和H9。而這些位置中,只有B2,D8和I1與起始于D1的區(qū)塊有關(guān)聯(lián)。因?yàn)镮1=9,它所在的第1列上的其他單元格中不可能再出現(xiàn)9, 而區(qū)塊中的D1和F1正好也在第1列上,所以這兩個(gè)單元格填入9的可能性被排除。同理,因?yàn)锽2=9,它所在的第2列中的其他單元格不可能再填入9,而區(qū)塊中的D2和E2也正好在第2列上,因此,這兩個(gè)單元格填入9的可能性也被排除掉了。再看行D,因?yàn)镈8=9,所以該行上的D1,D2和D3也不可能再填入9,而這些單元

13、格正好也在起始于D1的區(qū)塊中。所以,這個(gè)區(qū)塊中能填入數(shù)字9的位置就只剩下了E3,這樣就通過排除法找到了答案,即E3=9。下面再看一個(gè)在行中使用單元排除法的例子:在謎題中觀察數(shù)字4和行H,在行H有5個(gè)空單元格無法確定數(shù)字,但是C3位置上的4使得其所在的第3列中的其他單元格上不能再出現(xiàn)4,所以H3不能填入4。I4上的4使得其所在的區(qū)塊中也不能再填入4,它幫助行H排除了兩個(gè)單元格H4和H6,而第8列上的E8中的數(shù)字4使得同樣位于這一列上的H8也排除了填入4的可能。這樣,行H中能填入4的位置就只剩下H9了。在列中也可以使用單元排除法:在第7列中,我們?cè)噲D確定能填入數(shù)字1的位置。在行B中,數(shù)字1已經(jīng)出現(xiàn)

14、在B2上,所以B7不可能再填入數(shù)字1了。而位于D8的數(shù)字1也使得F7排除了填入數(shù)字1的可能,因?yàn)樗鼈兾挥谕粎^(qū)塊中。這樣,第7列上就只有A7能填入數(shù)字1了。 通過上面的示例,可以看到,要對(duì)區(qū)塊使用單元排除法,需要觀察與該區(qū)塊相交的行和列。要對(duì)行使用單元排除法,需要觀察與該行相交的區(qū)塊和列。要對(duì)列使用單元排除法,需要觀察與該列相交的區(qū)塊和行。 在實(shí)際解題過程中,行,列和區(qū)塊之間的關(guān)系并不象上面這些圖中所示的那么明顯,所以需要一定的眼力和細(xì)心觀察。一般來說,先看哪個(gè)數(shù)字在謎題中出現(xiàn)得最多,就從哪個(gè)數(shù)字開始下手,找到還未填入這個(gè)數(shù)字的單元(行,列或區(qū)塊),利用已填入該數(shù)字的單元格與單元之間的關(guān)系,看

15、能不能排除一些不可能填入該數(shù)字的位置,直到剩下唯一的位置。如果害怕搞不清已經(jīng)處理過哪些數(shù)字的話,可以從數(shù)字1開始,從左上角的區(qū)塊開始一直檢查到右下角的區(qū)塊,看能不能在這些區(qū)塊中應(yīng)用單元排除法。然后測(cè)試數(shù)字2,以此類推。 單元排除法是應(yīng)用得最多的直觀法,雖然在實(shí)踐中經(jīng)常會(huì)因?yàn)榇中亩┑艉芏嗍褂眠@一方法的機(jī)會(huì),但只要勤加練習(xí),就可以運(yùn)用自如。 3.區(qū)塊排除法 ( Block Elimination Technique ) 區(qū)塊排除法是直觀法中進(jìn)階的技法。雖然它的應(yīng)用范圍不如單元排除法那樣廣泛,但用它可能找到用單元排除法無法找到的解。有時(shí)在遇到困難無法繼續(xù)時(shí),只要用一次區(qū)塊排除法,接下去解題就會(huì)勢(shì)如

16、破竹了。區(qū)塊排除法實(shí)際上是利用區(qū)塊與行或列之間的關(guān)系來實(shí)現(xiàn)的,這一點(diǎn)與單元排除法頗為相似。然而,它實(shí)際上是一種模糊排除法,也就是說,它并不象單元排除法那樣利用謎題中現(xiàn)有的確定數(shù)字對(duì)行,列或區(qū)塊進(jìn)行排除,而是在不確定數(shù)字的具體位置的情況下進(jìn)行排除的。這句話聽起來似乎不好理解,讓我們先從一個(gè)例子入手,看看區(qū)塊排除法是怎么應(yīng)用的。對(duì)于上面這個(gè)謎題,用基本的單元排除法或是單元唯一法都無法再找到解。這時(shí)可以嘗試使用區(qū)塊排除法。 我們先從填入數(shù)字最多的區(qū)塊著手,也就是起始于G4的區(qū)塊,該區(qū)塊中只有H6和I5為空,且剩余數(shù)字1和2還未填入。這樣,我們可以想辦法確定這兩個(gè)數(shù)字的位置。觀察全局,可以看到D2=2

17、,根據(jù)單元排除法,它所在的第2列上不能再出現(xiàn)數(shù)字2,所以H2和I2將不能填入2,這使得起始于G1的區(qū)塊中數(shù)字2可能出現(xiàn)的位置僅剩下I1和I3,見下圖:雖然我們無法確定2在起始于G1的區(qū)塊中的確定位置,但幸運(yùn)的是,能填入2的位置正好都在行I上,也就是說,無論2在I1還是在I3,行I的其他單元格中將不可能再出現(xiàn)數(shù)字2,所以可以毫不猶豫地排除在I5填入2的可能性,這樣,對(duì)于起始于G4的區(qū)塊而言,能填入數(shù)字2的位置就只剩下H6了。所以H6=2。接下來,當(dāng)然毫無疑問,利用單元唯一法,在I5填入數(shù)字1。先小結(jié)一下上面的求解方法:解題時(shí),實(shí)際上是在對(duì)目標(biāo)區(qū)塊(主區(qū)塊)有影響的區(qū)塊(輔助區(qū)塊)中應(yīng)用單元單元排

18、除法,使輔助區(qū)塊滿足某些條件并能參與對(duì)主區(qū)塊的數(shù)字排除。實(shí)際應(yīng)用中,可能出現(xiàn)下面四種情況:當(dāng)某數(shù)字在某個(gè)區(qū)塊中可填入的位置正好都在同一行上,因?yàn)樵搮^(qū)塊中必須要有該數(shù)字,所以這一行中不在該區(qū)塊內(nèi)的單元格上將不能再出現(xiàn)該數(shù)字。當(dāng)某數(shù)字在某個(gè)區(qū)塊中可填入的位置正好都在同一列上,因?yàn)樵搮^(qū)塊中必須要有該數(shù)字,所以這一列中不在該區(qū)塊內(nèi)的單元格上將不能再出現(xiàn)該數(shù)字。當(dāng)某數(shù)字在某行中可填入的位置正好都在同一區(qū)塊上,因?yàn)樵撔兄斜仨氁性摂?shù)字,所以該區(qū)塊中不在該行內(nèi)的單元格上將不能再出現(xiàn)該數(shù)字。當(dāng)某數(shù)字在某列中可填入的位置正好都在同一區(qū)塊上,因?yàn)樵摿兄斜仨氁性摂?shù)字,所以該區(qū)塊中不在該列內(nèi)的單元格上將不能再出現(xiàn)該

19、數(shù)字。其中1,2兩種情況相對(duì)常見,也比較容易判斷。上面的示例就是第1種情況。下面我們會(huì)看到第2種情況的例子:雖然在起始于A7的區(qū)塊中,未填入數(shù)字的空單元格多達(dá)4個(gè),但我們還是可以輕松地確定數(shù)字5的位置。這是因?yàn)樵谄鹗加贕7的區(qū)塊中,我們欣喜地發(fā)現(xiàn)數(shù)字5可能出現(xiàn)的位置正好都在第8列上,這時(shí)5的確切位置已經(jīng)不重要了,因?yàn)樗呀?jīng)滿足了上面介紹的第2種情況的條件,因此可以參與對(duì)起始于A7的區(qū)塊進(jìn)行數(shù)字排除了。在它的影響下,A8和B8中填入數(shù)字5的可能性已經(jīng)不存在,因?yàn)樗鼈兌荚诘?列上。這樣,在起始于A7的區(qū)塊中,數(shù)字5能填入的位置只剩下A9和C9了。這時(shí),我們?cè)倮脝卧懦?,通過A4位置上的數(shù)字5再

20、消除其所在行A上的A9,最終得到能填入5的唯一位置C9。下面看幾個(gè)比較少見的例子在行C上,數(shù)字3的位置可以通過下面的方法來確定:先看行B,利用單元排除法,通過H2和F3位置上的3進(jìn)行列排除,得到行B中能填入3的位置為B4和B5。碰巧的是,這兩個(gè)單元格都在起始于A4的區(qū)塊中,這時(shí)已經(jīng)滿足了上述情況3的條件。利用單元排除法的區(qū)塊排除,則行C上的C4和C5都不能再填入3;再加上F3的列排除的共同努力,最終確定數(shù)字3在行C上的唯一位置就是C1。第4種情況的例子如下:在這個(gè)示例中,只是使用單元排除法和單元唯一法到這一步就繼續(xù)不下去了。要想求得數(shù)字8在第6列的位置,就必須要借助區(qū)塊排除法。先看第4列,通過

21、位于C3和I8的數(shù)字8的行排除,使8在第4列可能填入的位置只剩下D4和F4,而這兩個(gè)單元格正好都在起始于D4的區(qū)塊中。因?yàn)榈?列不能沒有數(shù)字8,而數(shù)字8如果填在區(qū)塊中的其他位置(如D6,E6或F6)時(shí)將迫使D4和F4上不能再填入8,這樣會(huì)導(dǎo)致第4列沒有數(shù)字8。因此,第6列中的D6,E6和F6能填入數(shù)字8的可能性被排除。這樣第6列中就只剩下B6能填入8了。實(shí)際解題過程中,還會(huì)碰到比較復(fù)雜的情況,看下面的謎題:你能確定數(shù)字3在起始于A1的區(qū)塊中的位置嗎?先看位于C5的數(shù)字3,它不僅排除了同一行中C1和C3中填入3的可能性,也同時(shí)排除了同一行中C8和C9填入3的可能性,這使得在起始于A7的區(qū)塊中,能

22、填入3的位置只剩下B8和B9,見下圖:利用區(qū)塊排除法,在起始于A7的區(qū)塊中,無論3在B8還是B9,行B中的其他位置都不能再填入3,所以B1,B2和B3都被排除。于是,在起始于A1的區(qū)塊中,能填入3的位置僅剩下A1和A2了。但至此我們還無法確定3的準(zhǔn)確位置,這時(shí)我們還要借助于其他的輔助區(qū)塊來進(jìn)一步排除。觀察起始于D1的區(qū)塊,利用D7位置上的3排除同一行的D1,以及用G3位置上的3排除同一列的E3和F3,使區(qū)塊中可能填入3的位置只余E2和F2,剛好這兩個(gè)位置都在第2列中,符合上面介紹的第2種情況,于是可以把A2也排除掉。最后,我們就可以很肯定地在A1中填入數(shù)字3了。這個(gè)例子同時(shí)使用了多個(gè)輔助區(qū)塊同

23、時(shí)參與排除。在實(shí)際使用中雖然這種情況并不常見,但卻也不少見。關(guān)鍵在于如何能正確識(shí)別并恰當(dāng)應(yīng)用區(qū)塊排除法。相信通過大量的練習(xí)并勤于分析思考,這種方法就可以運(yùn)用自如,得心應(yīng)手。下面是其他的一些例子,可以幫助更好地理解并掌握這種技法:4.唯一余數(shù)法 ( Sole Number Technique ) 唯一余數(shù)法是直觀法中較不常用的方法。雖然它很容易被理解,所以說明這個(gè)方法不需要很大篇輻,然而在實(shí)踐中,卻不易看出能夠使用這個(gè)方法的條件是否得以滿足,從而使這個(gè)方法的應(yīng)用受到限制。與單元唯一法相比,唯一余數(shù)法是確定某個(gè)單元格能填什么數(shù)的方法,而單元唯一法是確定某個(gè)數(shù)能填在哪個(gè)單元格的方法。另外,應(yīng)用單元唯

24、一法的條件十分簡(jiǎn)單,幾乎一目了然。與候選數(shù)法相比,唯一余數(shù)法相當(dāng)于顯式唯一法。雖然顯式唯一法是候選數(shù)法中最簡(jiǎn)單且應(yīng)用最容易的方法,但在 直觀法中卻正好相反。先看一個(gè)例子:對(duì)于單元格G9應(yīng)該填入什么數(shù)字,就算你把前面介紹的所有直觀技法都用上,也不得而知。然而,我們通過觀察它所在的行,列和區(qū)塊,可以發(fā)現(xiàn)除了數(shù)字2以外,1到9中其他的數(shù)字都出現(xiàn)了,其中行G中包含了7,6,9,5,3和8,第9列中包含了數(shù)字5,8,7和1,起始于G7的單元格中包含了3,8,4,7,5和1。這樣,如果G9不填入數(shù)字2,就一定會(huì)違反游戲“行,列或區(qū)塊不能出現(xiàn)重復(fù)數(shù)字”的規(guī)則。所以G9中的數(shù)字一定是2總結(jié)一下,就是如果某一單

25、元格所在的行,列及區(qū)塊中共出現(xiàn)了8個(gè)不同的數(shù)字,那么該單元格可以確定地填入還未出現(xiàn)過的數(shù)字。怎么樣,很簡(jiǎn)單吧,但在實(shí)踐中卻不那么容易識(shí)別??聪旅娴闹i題: 你能看出來對(duì)哪個(gè)單元格應(yīng)用唯一余數(shù)法嗎? 還有這個(gè)謎題:答案分別是E6=9和I7=9。 一般來說,只有在使用基本的排除方法都失效的情況下,才試著使用這個(gè)方法來解題。5.組合排除法 ( Combination Elimination Technique) 組合排除法和區(qū)塊排除法一樣,都是直觀法中進(jìn)階的技法,但它的應(yīng)用范圍要更小一點(diǎn)。一般情況下,基本沒有機(jī)會(huì)用到這種方法解題,所以要找到相應(yīng)的例子也都很困難。當(dāng)然,如果你希望優(yōu)先以這個(gè)技法來解題的話

26、,還是能碰到很多能符合使用組合排除法條件的情況。組合排除法,顧名思義,要考慮到某種組合。這里的組合既包括區(qū)塊與區(qū)塊的組合,也包括單元格與單元格的組合,利用組合的關(guān)聯(lián)與排斥的關(guān)系而進(jìn)行某種排除。它也是一種模糊排除法,同樣是在不確定數(shù)字的具體位置的情況下進(jìn)行排除的。下面先看一個(gè)例子:對(duì)于上面這個(gè)謎題,你能確定數(shù)字6在起始于G4的區(qū)塊中的位置嗎?要想獲得正確的答案初看起來有些困難。因?yàn)殡m然在G9和H3已經(jīng)存在了兩個(gè)6,但是利用它們只能行排除區(qū)塊中的G4和H6兩個(gè)單元格,還是無法確定6到底是在I4還是在I5中。這時(shí)候,組合排除法就派上用場(chǎng)了?,F(xiàn)在撇開起始于G4的區(qū)塊,先看它上面的兩個(gè)區(qū)塊,即起始于A4

27、和D4的區(qū)塊。這幾個(gè)區(qū)塊的共同特點(diǎn)是占有同樣的幾列,也就是第4列至第6列,因此它們之間的數(shù)字會(huì)相互直接影響。對(duì)于起始于A4的區(qū)塊,利用A1處已有的數(shù)字6進(jìn)行行排除,可以得到這個(gè)區(qū)塊中可能填入6的位置只剩下兩個(gè):B5和C6。 對(duì)于起始于D4的區(qū)塊,利用E7處已有的數(shù)字6進(jìn)行行排除,可以得到這個(gè)區(qū)塊中可能填入6的位置也剩下兩個(gè):F5和F6。 這時(shí),我們?nèi)詿o法確定6在這兩個(gè)區(qū)塊中的確切位置。但不妨對(duì)可能出現(xiàn)的情況作一下分析:假設(shè)在起始于A4的區(qū)塊中,B5=6,則同一區(qū)塊中的C6必不為6,而且B5還將列排除F5,這樣在起始于D4的區(qū)塊中,只有F6=6。假設(shè)在起始于A4的區(qū)塊中,C6=6,則同一區(qū)塊中的

28、B5必不為6,而且C6還將列排除F6,這樣在起始于D4的區(qū)塊中,只有F5=6。簡(jiǎn)單地說,只有兩種可能:B5=6且F6=6,或者C6=6且F5=6。決不會(huì)再出現(xiàn)其他的情況。但無論是其中哪一種情況,第5列和第6列都會(huì)有確定的6出現(xiàn)在這兩個(gè)區(qū)塊中,也就是說,第5列和第6列的其他位置不可能再出現(xiàn)數(shù)字6。這樣,原本無法肯定的6在起始于G4區(qū)塊中的位置,一下子就變得明確了。利用起始于A4和D4的區(qū)塊對(duì)起始于G4的區(qū)塊進(jìn)行列排除,可以把I5排除掉,這樣,就只剩下I4可以填入6了。小結(jié)一下,組合排除法的要滿足的條件如下:如果在橫向并行的兩個(gè)區(qū)塊中,某個(gè)數(shù)字可能填入的位置正好都分別占據(jù)相同的兩行,則這兩行可以被

29、用來對(duì)橫向并行的另一區(qū)塊做行排除。如果在縱向并行的兩個(gè)區(qū)塊中,某個(gè)數(shù)字可能填入的位置正好都分別占據(jù)相同的兩列,則這兩列可以被用來對(duì)縱向并行的另一區(qū)塊做列排除。 讓我們?cè)倏匆粋€(gè)例子:要想確定數(shù)字1在起始于D4的單元格中的位置,我們將設(shè)法借助于其橫向上相鄰兩個(gè)區(qū)塊的幫助。利用I2的列排除,我們可以把起始于D1的區(qū)塊中的E2和F2排除掉,這樣,這個(gè)區(qū)塊中能填入1的位置剩下D1,D3和E1。 利用H7的列排除,可以把起始于D7的區(qū)塊中的E7和F7排除掉,再利用A9的列排除,可以把這個(gè)區(qū)塊中E9和F9排除掉,這樣,這個(gè)區(qū)塊中能填入1的位置只剩下D8和E8。雖然在起始于D1的區(qū)塊中,能填入1的位置多達(dá)3個(gè)

30、,但是它們正好只分布在行D和行E上,而且在起始于D7的區(qū)塊中能填入1的位置所占據(jù)的也是這兩行。最終1的位置只可能有三種情況:D1=1且E8=1;或者D3=1且E8=1;或者E1=1且D8=1。無論是哪種情況,行D和行E都會(huì)有確定的1出現(xiàn)在這兩個(gè)區(qū)塊中,也就是說,這兩行的其他位置不會(huì)再出現(xiàn)1。于是,借助于這兩個(gè)區(qū)塊的行排除,我們可以把起始于D4的區(qū)塊中的D4和D6排除掉,再利用G4位置的列排除,最終確定1的位置在F6。下面是其他一些使用組合排除法的例子:在實(shí)踐中,組合排除法的實(shí)際應(yīng)用機(jī)會(huì)不如區(qū)塊排除法多。但是,掌握這一技法無疑可以大大提高求解謎題的靈活性,從而增加解題的樂趣。6.矩形排除法 (

31、Rectangle Elimination Technique) 矩形排除法雖然淺顯易懂,但一般在實(shí)際解題的時(shí)候應(yīng)用得卻比較少。這是因?yàn)榧词怪i題中存在滿足使用這一方法的情況,也很難直接看出來。然而,相對(duì)組合排除法而言,在解題過程中倒是能有更多的機(jī)會(huì)用上矩形排除法。下面先看一個(gè)例子:對(duì)于這個(gè)謎題,如果不用矩形排除法是無法繼續(xù)下去的。我們將通過講解這種技法,從而找到數(shù)字8在起始于G1的區(qū)塊中的位置。乍看之下,好象一籌莫展。因?yàn)锽2和E3上的8只能列排除左下角這個(gè)區(qū)塊中的G2, H2,G3和I3這4個(gè)單元格,這時(shí)仍剩下兩個(gè)單元格G1和H1無法確定。讓我們先來留意一下第6列,這一列中暫時(shí)沒有8,那么8

32、可能會(huì)填入哪幾個(gè)單元格中呢?首先,B2中的8行排除了B6,而E3和F4中的8又分別行排除了E6和F6。這樣,能填入8的位置就只剩下C6和I6了。見下圖:同樣,對(duì)于第9列,由于F4的行排除,F(xiàn)9不可能填8,所以這一列能填入8的位置也就只剩下C9和I9了。湊巧的是,這兩列中能填入8的位置都在同樣的兩行上,即行C和行I。這時(shí)就為我們應(yīng)用矩形排除法創(chuàng)造了前提條件。如果第6列中C6=8,那么I6和C9一定不能是8。而第9列這時(shí)就只剩下I9能填入8了;又或者如果第6列中I6=8,那么C6和I9一定不能是8,而第9列就只剩下C9能填入8了。不可能再有第3種情況。所以,要么C6=8且I9=8,要么I6=8且C

33、9=8。但無論是哪種情況,不難發(fā)現(xiàn),行C和行I都已填入了8,所以這兩行的其他位置不可能再填入8。我們正好可以利用這一點(diǎn)來進(jìn)行排除。 觀察起始于G1的區(qū)塊,我們已經(jīng)知道現(xiàn)在只剩下G1和I1兩個(gè)單元格無法確定了,通過上面的分析,利用矩形排除法排除位于行I上的I1,就可以確定數(shù)字8一定在G1上。總結(jié)一下,使用矩形排除法的條件如下: 如果一個(gè)數(shù)字在某兩行中能填入的位置正好在同樣的兩列中,則這兩列的其他的單元格中將不可能再出現(xiàn)這個(gè)數(shù)字;如果一個(gè)數(shù)字在某兩列中能填入的位置正好在同樣的兩行中,則這兩行的其他的單元格中將不可能再出現(xiàn)這個(gè)數(shù)字。讓我們?cè)賮砜匆粋€(gè)例子:做到這一步時(shí),不用矩形排除法的話恐怕是走投無路

34、了。這次還是要在起始于G1的區(qū)塊中找到數(shù)字4的位置。但我們無法確定4究竟在G2還是G3呢? 先要找找看有沒有滿足矩形排除法條件的情況存在。觀察行B,在這一行中,由于C5的區(qū)塊排除,B4和B5都不能為4,再加上H8列排除了B8,這樣行B中能填入4的位置包括B1和B3。 再看行F,由于D6的列排除,使得F6不能填4,所以行F中能填入4的位置只有F1和F3。 幸運(yùn)的是,行B和行F中能填入4的位置正好都位于同樣的兩列上,即第1列和第3列。根據(jù)上面矩形排除法的規(guī)則,第1列和第3列中不在行B和行F上的單元格中不能填入4,所以G3不能為4。這樣,起始于G1的區(qū)塊中就只有G2能填入4了。 下面是應(yīng)用矩形排除法

35、的其他一些例子,希望可以幫助大家快速掌握這種方法: 矩形排除法可以說是直觀法中最困難的技法,因?yàn)楫?dāng)前的謎題即使?jié)M足應(yīng)用這一方法的條件,也實(shí)在太難發(fā)現(xiàn)了。一般情況下,盡量先使用其他相對(duì)簡(jiǎn)單的直觀法。如果最后連矩形排除法都用上還是無法解題,你可能就需要嘗試候選數(shù)刪減法了。候選數(shù)法(Candidates Elimination Techniques)對(duì)于解決數(shù)獨(dú)謎題,最常使用的方法就是直觀法和候選數(shù)法。在謎題相對(duì)簡(jiǎn)單時(shí),直觀法可以取得相當(dāng)好的效果。但是如果謎題比較復(fù)雜,直觀法的效果就十分有限,即使通過試探性填數(shù)也不一定能夠解題,而這時(shí)候選數(shù)法卻可以很好地發(fā)揮作用。在對(duì)數(shù)獨(dú)謎題求解的電腦程序的設(shè)計(jì)上,

36、候選數(shù)法也因?yàn)楦咝б讓?shí)現(xiàn)而被廣泛應(yīng)用。如果用候選數(shù)法來解題,必須首先準(zhǔn)備一張如下圖所示的候選數(shù)柵格表: 初始化時(shí),每個(gè)單元格中都包含了1至9所有的數(shù)字,它表示該單元格中在解題時(shí)還可以選擇填入的數(shù)字。很明顯,不在候選數(shù)中的數(shù)字是不能夠填入該單元格中的。如果某一單元格中已填入一個(gè)確定的數(shù)字,則根據(jù)數(shù)獨(dú)游戲的規(guī)則,即該單元格所在行,列及區(qū)塊中都不能再出現(xiàn)這個(gè)數(shù)字,則該數(shù)字應(yīng)從這些單元格中的候選數(shù)字中去除。對(duì)于下面的這個(gè)謎題: 每填入一個(gè)數(shù)字時(shí),都要將該單元格中的候選數(shù)全部刪除,同時(shí)掃描其所在行,列和區(qū)塊,看它們所覆蓋的單元格上的候選數(shù)中有無該數(shù)字: 如果有,就把該數(shù)字從候選數(shù)中刪除:同理,填入謎題中

37、其他的初始數(shù)字,并刪除這些數(shù)字各自所在行,列和區(qū)塊候選數(shù)中的該數(shù)字,可以得到下面的候選數(shù)柵格表: 注意,填入數(shù)字的順序與最終的候選數(shù)柵格表無關(guān)。這時(shí),我們發(fā)現(xiàn)每個(gè)單元格中的候選數(shù)已經(jīng)比最初少了許多,真是一個(gè)令人興奮的開始。隨后,我們將輔以各種候選數(shù)刪減技巧,進(jìn)一步減少候選數(shù)的個(gè)數(shù),當(dāng)某單元格中只剩下唯一的候選數(shù)時(shí),該單元格就得到了它的唯一解。細(xì)心的朋友已經(jīng)發(fā)現(xiàn),在上面的候選數(shù)柵格表中,單元格I1中已經(jīng)剩下唯一候選數(shù)1,這時(shí)我們就可以通過顯式唯一法來解題了。 在候選數(shù)刪減法中,常用的算法包括:1.顯式唯一法 (Naked Single) 2.隱式唯一法 (Hidden Single) 3.區(qū)塊刪

38、減法 (Intersection Removal) 4.顯式數(shù)對(duì)法 (Naked Pair) 5.顯式三數(shù)集法 (Naked Triplet) 6.顯式四數(shù)集法 (Naked Quad) 7.隱式數(shù)對(duì)法 (Hidden Pair) 8.隱式三數(shù)集法 (Hidden Triplet) 9.隱式四數(shù)集法 (Hidden Quad) 10.矩形對(duì)角線法 (X-wing) 11.XY形態(tài)匹配法(XY-wing) 12.XYZ形態(tài)匹配法(XYZ-wing) 13.三鏈數(shù)刪減法 (Swordfish) 14.WXYZ形態(tài)匹配法(WXYZ-wing) 1. 顯式唯一法 (Naked Single) 這是候選

39、數(shù)刪減法中最簡(jiǎn)單的一種方法,就是掃描候選數(shù)柵格表,如果哪個(gè)單元格中只剩下一個(gè)候選數(shù),就可應(yīng)用顯式唯一法,在該單元格中填入這個(gè)數(shù)字,并在相應(yīng)行,列和區(qū)塊的候選數(shù)中刪除該數(shù)字。 在下面的圖中:?jiǎn)卧馡1有唯一的候選數(shù)1,則毫無疑問地把數(shù)字1填入該單元格中,并掃描其所在行,列和區(qū)塊的候選數(shù)中有無數(shù)字1:如果有,則把1從這些單元格的候選數(shù)中刪除:顯式唯一法雖然簡(jiǎn)單,但卻是最有效的候選數(shù)刪減法之一;尤其在謎題相對(duì)簡(jiǎn)單時(shí),有時(shí)單單使用顯式唯一法就可以解題。2. 隱式唯一法 (Hidden Single) 見文知義,隱式唯一法也是唯一候選數(shù)法的一種,但它肯定不如顯式唯一法那樣顯而易見。我們知道,如果某一個(gè)單

40、元格中只有一個(gè)候選數(shù)字,這時(shí)可以毫不猶豫地填入它;但是有沒有這種情況,即使某個(gè)單元格中有不止一個(gè)候選數(shù)字,我們也可以輕易地推斷出這個(gè)單元格的正確解答呢? 考慮下面的情況:在第7列中,單元格B7中雖然有多個(gè)候選數(shù),但觀察整列后我們發(fā)現(xiàn),只有這個(gè)單元格中有數(shù)字6。根據(jù)數(shù)獨(dú)游戲的規(guī)則,每一列中都必須要有從1到9的所有數(shù)字,而同時(shí)6卻只能出現(xiàn)在這個(gè)單元格中,所以很顯然B7=6。當(dāng)然,別忘了把6從B7所在的行,列和區(qū)塊中刪除。同樣,在下圖中:觀察行B后我們發(fā)現(xiàn),只有單元格B8中含有數(shù)字7。同理,B8是該行中唯一可以填入數(shù)字7的單元格,所以B8=7。另外,我們還要掃描相應(yīng)行,列和區(qū)塊,刪除其中的候選數(shù)7。

41、當(dāng)然,這種隱藏的唯一候選數(shù)也可能躲在區(qū)塊中,看下圖:對(duì)于起始于A1的區(qū)塊而言,數(shù)字8只出現(xiàn)在單元格A2的候選數(shù)中,所以A2=8。從相應(yīng)行,列和區(qū)塊,刪除其中的候選數(shù)8。 隱式唯一法是顯式唯一法的有力補(bǔ)充,很多稍復(fù)雜的題都可以在這兩種方法的交替使用下得以解決。 3. 區(qū)塊刪減法 (Intersection Removal) 應(yīng)用顯式唯一法和隱式唯一法只能解決簡(jiǎn)單的謎題,遇到稍復(fù)雜的謎題,還是要靠其他的方法。區(qū)塊刪減法也是比較常用的方法,它的目的是盡量刪減候選數(shù),而不一定要生成某一單元格的唯一解(當(dāng)然,產(chǎn)生唯一解更好)。區(qū)塊刪減法是利用區(qū)塊中的候選數(shù)和行或列上的候選數(shù)之間的交互影響而實(shí)現(xiàn)的一種刪減

42、方法,它分為兩種情況:區(qū)塊對(duì)行或列的影響 觀察下圖:可以看到在起始于A7的區(qū)塊中,數(shù)字9只出現(xiàn)在A9和C9的候選數(shù)中,更巧的是,A9和C9正好都在同一列上,即第9列。這時(shí)就可以應(yīng)用區(qū)塊刪減法了。具體地說,在起始于A7的區(qū)塊中,數(shù)字9只能填在A9或是C9中,又因?yàn)檫@兩個(gè)單元格都在第9列上,所以無論數(shù)字9填在哪個(gè)單元格中,第9列的其他單元格中都不能再填數(shù)字9,所以要把9從它們的候選數(shù)中刪除。在上圖中,位于第9列的單元格E9中的候選數(shù)9將被刪除。下圖說明的是區(qū)塊對(duì)行的影響:在起始于G1的區(qū)塊中,只有H2和H3可以填入數(shù)字3,而這兩個(gè)單元格正好都在行H中。同樣的道理,在這個(gè)區(qū)塊中無論數(shù)字3填入H2還是

43、H3,行H中的其他單元格中都不可能再填入3,所以在單元格H4,H6和H7的候選數(shù)中的3將被刪除。行或列對(duì)區(qū)塊的影響 與“區(qū)塊對(duì)行或列的影響”相近但卻不同,“行或列對(duì)區(qū)塊的影響”著重于先對(duì)行或列進(jìn)行分析。觀察下圖:在第5列中,8只出現(xiàn)在D5和F5的候選數(shù)中;也就是說,第5列中的數(shù)字8只能填入這兩個(gè)單元格其中的一個(gè)。碰巧的是,這兩個(gè)單元格正好都位于起始于D4的區(qū)塊中,結(jié)果使得這一區(qū)塊中的數(shù)字8也不能填入?yún)^(qū)塊的其他單元格中,所以D4,E4,E6和F6的候選數(shù)中的8將被刪除。 同樣,下圖說明了行對(duì)區(qū)塊的影響: 在行E中,只有E5和E6能填入數(shù)字6,而這兩個(gè)單元格又剛好都在起始于D4的區(qū)塊中,所以該區(qū)塊

44、中的其他單元格內(nèi)不能再填入數(shù)字6,即6將從單元格D5和F5的候選數(shù)中刪除??偨Y(jié)一下區(qū)塊刪減法的條件,就是在某一區(qū)塊中,當(dāng)所有可能出現(xiàn)某個(gè)數(shù)字的單元格都位于同一行時(shí),就可以把這個(gè)數(shù)字從該行的其他單元格的候選數(shù)中刪除。在某一區(qū)塊中,當(dāng)所有可能出現(xiàn)某個(gè)數(shù)字的單元格都位于同一列時(shí),就可以把這個(gè)數(shù)字從該列的其他單元格的候選數(shù)中刪除。 在某一行(列)中,當(dāng)所有可能出現(xiàn)某個(gè)數(shù)字的單元格都位于同一區(qū)塊中時(shí),就可以把這個(gè)數(shù)字從該區(qū)塊的其他單元格的候選數(shù)中刪除。雖然區(qū)塊刪減法應(yīng)用比較廣泛,但是還是要先給大家潑盆冷水。因?yàn)樵诤芏鄷r(shí)候,即使?jié)M足了區(qū)塊刪減的條件,也可能會(huì)發(fā)生沒有候選數(shù)可以刪減的情況,讓人空歡喜一場(chǎng)。其

45、實(shí),這個(gè)問題對(duì)其他稍復(fù)雜的方法都是普遍存在的。4. 顯式數(shù)對(duì)法 (Naked Pair) 顯式數(shù)對(duì)法在很多謎題中都可以得到應(yīng)用,它的條件比較容易滿足,而且顯而易見。先看下圖:在行E中,E2和E8中候選數(shù)只有兩個(gè),且都是2和3,即構(gòu)成一個(gè)2, 3的數(shù)對(duì)。這使得該行中其他單元格中不能再出現(xiàn)2或3。為什么呢,因?yàn)榧僭O(shè)E2=2,則E8一定要填3;反之,假設(shè)E2=3,則E8則一定填2,不會(huì)再出現(xiàn)其他的情況。所以2和3必然不能成為該行中其他單元格的候選數(shù)。這樣,E3,E4和E5的候選數(shù)中都不能再有2和3。對(duì)于列也是這樣:在第3列中,數(shù)對(duì)6, 8只出現(xiàn)且都出現(xiàn)在A3和H3中,所以其他單元格里都不能再有這兩個(gè)

46、數(shù)字。這樣,C3的候選數(shù)中將刪除6和8,而F3的候選數(shù)中將刪除8。同樣,別忘了還有區(qū)塊: 觀察起始于G4的區(qū)塊,可以發(fā)現(xiàn)G5和I4中含有數(shù)對(duì)2, 4,這樣,該區(qū)塊中其他的單元格里都不能再有數(shù)字2和4,這次受影響的有4個(gè)單元格,分別是G4,H4,I5和I6??偨Y(jié)一下顯式數(shù)對(duì)的條件,也就是,在一個(gè)行,列或區(qū)塊中,如果有兩個(gè)單元格都包含且只包含相同的兩個(gè)候選數(shù),則這兩個(gè)候選數(shù)字不能再出現(xiàn)在該行,列或區(qū)塊的其他單元格的候選數(shù)中。5. 顯式三數(shù)集法 (Naked Triplet) 顯式三數(shù)集法并不如顯式數(shù)對(duì)法那樣常見,但它們的原理卻很相似。顯式數(shù)對(duì)法要求同樣的2個(gè)數(shù)字都出現(xiàn)在某行,列或區(qū)塊的2個(gè)單元格中

47、,且這2個(gè)單元格的候選數(shù)不能包含其他的數(shù)字。同樣,顯式三數(shù)集法要求的是3個(gè)數(shù)字要出現(xiàn)在3個(gè)位于同一行,列或區(qū)塊的單元格中,且這3個(gè)單元格的候選數(shù)中不能包含其他數(shù)字。但不同的是,顯式三數(shù)集法不要求每個(gè)單元格中都要包含這3個(gè)數(shù)字。例如,對(duì)于數(shù)字集2,4,5,如果在某行,列或區(qū)塊中有3個(gè)單元格的候選數(shù)分別為下面幾種情況時(shí),都可應(yīng)用顯式三數(shù)集法,即3個(gè)單元格的候選數(shù)集可以分別為:2, 4, 5 2, 4, 5 2, 4, 5,或 2, 4 4, 5 2, 5,或 2, 4, 5 2, 5 4, 5,或 2, 4, 5 4, 5 2, 4, 5,或 . 也就是說,要形成顯式三數(shù)集,則必須要有3個(gè)在同一行

48、,列或區(qū)塊中的單元格,每個(gè)單元格中至少要有2個(gè)候選數(shù),且它們的所有候選數(shù)字也正好都是一個(gè)三數(shù)集的子集。由于這個(gè)三數(shù)集中的3個(gè)數(shù)字正好可以分別填入這3個(gè)單元格中,所以該行,列或區(qū)塊中其他的單元格中不可能再填入這3個(gè)數(shù)字。但要注意的是,下面的這種情況不是顯式三數(shù)集:2, 4, 5 2, 4 2, 4其中2, 4和2, 4可應(yīng)用顯式數(shù)對(duì)法,所以第一個(gè)候選數(shù)集2, 4, 5將只能剩下候選數(shù),這時(shí)就可應(yīng)用顯式唯一法了??聪聢D:在行D中,D1,D7和D8中分別包含候選數(shù)集3, 5, 9,3, 5, 9和5, 9,根據(jù)上面的知識(shí),可以判斷出這是一個(gè)顯式三數(shù)集,因此數(shù)字3,5和9不可能再出現(xiàn)在行內(nèi)其他的單元格

49、中,所以D4和D6的候選數(shù)中的3,5和9將被刪除。下面是列中的顯式三數(shù)集的例子: 在第2列中,G2,H2和I2中分別包含候選數(shù)集2, 6,2, 5和2, 5, 6,所以數(shù)字2,5和6只能在這三個(gè)單元格中分別填入,而不可能填入到該列的其他單元格中,因此A2,B2和E2的候選數(shù)中的2,5和6將被刪除。 細(xì)心的朋友可能還發(fā)現(xiàn),G2,H2和I2不僅都在第2列中,而且又恰好都在起始于G1的區(qū)塊中,對(duì)于數(shù)字5,已經(jīng)符合區(qū)塊刪減法的條件,可惜的是,第2列中其他單元格的候選數(shù)中都沒有5可以刪減。 同樣,顯式三數(shù)集還有在區(qū)塊中的可能: 在起始于D7的區(qū)塊中,D8,D9和E9中分別包含了候選數(shù)集4, 9,4, 8

50、, 9和8, 9,這樣區(qū)塊中其他的單元格中不能再填入數(shù)字4,8和9,可以刪減的單元格是E7和E8。6. 顯式四數(shù)集法 (Naked Quad) 顯式四數(shù)集法比較少見,如果你已經(jīng)對(duì)顯式三數(shù)集法比較了解,則對(duì)顯式四數(shù)集法也會(huì)很快掌握。先舉個(gè)例子,對(duì)于數(shù)字集1, 2, 4, 5,如果在某行,列或區(qū)塊中有4個(gè)單元格的候選數(shù)分別為下面幾種情況時(shí),都可應(yīng)用顯式四數(shù)集法,即4個(gè)單元格的候選數(shù)集可以分別為:1, 2, 4, 5 1, 2, 4, 5 1, 2, 4, 5 1, 2, 4, 5,或 1, 2, 4 1, 4, 5 2, 5 1, 2,或 1, 2, 4, 5 2, 5 2, 4, 5 1, 2,

51、 4, 5,或 2, 5 4, 5 1, 2, 5 1, 2, 4,或 1, 2, 5 1, 2, 4, 5 1, 2, 4, 5 2, 4,或 . 這樣的組合情況可以很多。也就是說,要形成顯式四數(shù)集,則必須要有4個(gè)在同一行,列或區(qū)塊中的單元格,每個(gè)單元格中至少要有2個(gè)候選數(shù),且它們的所有候選數(shù)字也正好都是一個(gè)四數(shù)集的子集。由于這個(gè)四數(shù)集中的4個(gè)數(shù)字正好可以分別填入這4個(gè)單元格中,所以該行,列或區(qū)塊中其他的單元格中不可能再填入這4個(gè)數(shù)字。但要注意的是,下面的這種情況不是顯式四數(shù)集:1, 2, 4, 5 2, 4 2, 5 2, 4, 5其中2, 4 2, 5和2, 4, 5可應(yīng)用顯式三數(shù)集法,

52、所以第一個(gè)候選數(shù)集1, 2, 4, 5將只能剩下候選數(shù)1,這時(shí)就可應(yīng)用顯式唯一法了。看下圖:很明顯,在行D中,D1,D4,D6和D8中分別包含了候選數(shù)集3, 5, 6,2, 5, 6,2, 5, 6和3, 5, 6,即分別都是四數(shù)集2, 3, 5, 6的子集。這樣在行D中,數(shù)字2,3,5和6就只能填入這4個(gè)單元格中,所以D3和D7的候選數(shù)中將不能包含這幾個(gè)數(shù)字。下面是顯式四數(shù)集在列中的例子: 在第9列中,C9,D9,E9和G9中分別包含了候選數(shù)集1, 7, 8,1, 8,6, 7, 8和6, 7, 8,即分別都是四數(shù)集1, 6, 7, 8的子集。這樣數(shù)字1,6,7和8就不能填入該列中除這四個(gè)單

53、元格之外的單元格中,所以A9和B9的候選數(shù)中將不能出現(xiàn)這四個(gè)數(shù)字。同樣,顯式四數(shù)集也可以出現(xiàn)在區(qū)塊中:在起始于A7的區(qū)塊中,B9,C7,C8和C9中分別包含了候選數(shù)集6, 7,1, 6, 8,7, 8和1, 6, 7, 8,即它們分別都是四數(shù)集1, 6, 7, 8的子集。這樣,數(shù)字1,6,7和8就不能填入該區(qū)塊中除這四個(gè)單元格之外的單元格中,所以A7和A8的候選數(shù)中將不能出現(xiàn)這四個(gè)數(shù)字。 當(dāng)然,掌握了顯式四數(shù)集法,我們同樣可以演繹出顯式五數(shù)集法,顯式六數(shù)集法等,但因?yàn)轱@式四數(shù)集法出現(xiàn)的幾率已經(jīng)較小,所以我們不指望推演出的更多方法能在解決數(shù)獨(dú)謎題上帶給我們有效的幫助。 7. 隱式數(shù)對(duì)法 (Hidden Pair) 對(duì)比顯式數(shù)對(duì)法,隱式數(shù)對(duì)法也需要在同一行,列或區(qū)塊中尋找兩個(gè)單元格,而這兩個(gè)單元格上都包含有一個(gè)數(shù)對(duì)(兩個(gè)數(shù)字),且這個(gè)數(shù)對(duì)不會(huì)出現(xiàn)在該行,列或區(qū)塊的其他單元格上。然而,應(yīng)用隱式數(shù)對(duì)法卻要困難得多,因?yàn)樗c顯式數(shù)對(duì)法不同的是,包含有數(shù)對(duì)的單元格的候選數(shù)中可能還包含有其他的數(shù)字。先看下圖:可以看到,在行A中,數(shù)對(duì)3, 6只出現(xiàn)在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論