第 65 講:高級飛魚導(dǎo)彈
下面我們來看高級版的飛魚導(dǎo)彈——高級飛魚導(dǎo)彈(Senior Exocet,簡稱SE)結(jié)構(gòu)。
Part 1?普通示例

如圖所示,我們?nèi)绻裷1c12作為基準單元格的話,就會發(fā)現(xiàn)目標單元格此時僅剩下唯一一個單元格:r3c4了。這是否意味著結(jié)構(gòu)直接出錯了呢?并不是這樣,因為r6c7是這個時候“居然”空的。
之所以說“居然”,是因為之前的邏輯里,我們可以發(fā)現(xiàn)一個經(jīng)驗上的東西,即確定值在交叉線單元格里的分布基本上是占滿了其中的兩行(列)甚至是三行(列)。而這個例子里卻缺少了一個單元格r6c7沒有被確定值占據(jù)掉。我們嘗試從JE的原理入手分析這個結(jié)構(gòu)。
假如r6c7不放入基準單元格r1c12涉及的候選數(shù)1、2、3、4會怎么樣呢?這顯然就意味著,1、2、3、4在交叉線單元格里都是最多出現(xiàn)兩次的情況的,而這便會使得與之互補的r123c347里必須至少一個1、至少一個2、至少一個3和至少一個4的出現(xiàn)才能夠滿足c347填夠三次1、2、3、4的要求。
可是如果我們一旦假設(shè)r1c12填入的是a和b后,就會發(fā)現(xiàn),其中有一個數(shù)必然放不到r123c347里,這是因為此時目標單元格僅剩下唯一一個單元格:r3c4了。如果r3c4是a的話,那b放哪里呢?那如果r3c4是b的話,那么a又放哪里呢?這便使得結(jié)構(gòu)出現(xiàn)了矛盾:a和b里會有一個數(shù)填不進去。所以,我們最初的假設(shè),r6c7不放入1、2、3、4,這個說法就是錯誤的,故r6c7只能是1、2、3、4的其一,故刪除掉和1、2、3、4無關(guān)的其余候選數(shù),故r6c7 <> 8。那么,我們就完全可以把a和b的其一放到r6c7里作為目標單元格了,這樣一來,r3c4如果是a,那么r6c7就是b,這樣便滿足了要求。所以,r3c4 <> 8實際上也是成立的。
這就是這個示例想要告訴你的推導(dǎo)邏輯:它嘗試把目標單元格向下調(diào)整到了交叉線單元格里,但依舊不影響我們的推導(dǎo),這種結(jié)構(gòu)作為飛魚導(dǎo)彈的升級版,自然就被取名叫做高級飛魚導(dǎo)彈了。
Part 2?退化SE
下面我們來看一點稍微不一樣的構(gòu)型。

如圖所示。我們發(fā)現(xiàn),如果把r456789c347作為交叉線單元格,而把r1c12作為基準單元格的話,里面居然包含了基準單元格里的候選數(shù)6。這未免也太神奇了吧。顯然,它想要直接告訴我們,基準單元格里必有一個6的出現(xiàn)。如果基準單元格沒有6的話,JE此時是成立的,那么2、4、5作為我們推導(dǎo)的數(shù)字,卻發(fā)現(xiàn)目標單元格此時就只有r2c4一個單元格,那么r1c12里填入的兩種數(shù)字的其中一種就必然無法放到r123c347里,導(dǎo)致矛盾的出現(xiàn)。所以,我們不得不把這個6也算作是目標單元格處理,這樣,JE此時是成立的,而且它還直接暗示了我們,r1c12必須有一個6,故r1c12(6)是一個區(qū)塊結(jié)構(gòu),刪除掉r1和b1其余位置的6。當然,r2c4 <> 6,因為目標單元格的填數(shù)必須是不同的,它對應(yīng)著“基準單元格的填數(shù)是不同的”這一個要求。
這種結(jié)構(gòu)也屬于SE的一種,但由于它的其中一個目標單元格直接變?yōu)榱舜_定值來暗示填數(shù)結(jié)論,我們把這種結(jié)構(gòu)使用魚里的“退化”一詞來表示,所以這個結(jié)構(gòu)叫做退化SE(Sashimi SE)。

沒了?
沒了。
