數獨高階技巧之八——SDC
在本系列的第四篇“簡單異數鏈”中,向大家介紹了XY-Wing等一系列Wing類技巧,並提到可以用(拐彎的)陣列的觀念來理解這些結構,經過第六篇ALS的學習之後,大家回過頭再去看Wing,應該可以發現相關的例項都可以用ALS去解釋。本篇則要介紹一種與上述結構類似的刪除技巧——SDC(Sue de Coq)。
一、基本形態
Sue de Coq這個命名來自於SDC技巧最早發現者的論壇暱稱,更正式的名稱應該是Two-Sector Disjoint Subsets(雙分離子集刪除法),我們先來看SDC的兩種基本形態。
圖1中,B4和R5深色背景4個待解格中存在且僅存在(A、B、C、D)4個候選數,可將這4個候選數分成紅(A、B)、綠(C、D)兩個分離子集(紅∩綠=Ø),將4個待解格按其所在單元分為宮B、行R兩個子集,紅色(A、B)存在於子集B三格中,綠色(C、D)存在於子集R三格中,兩個待解格子集存在交集X(交疊區域兩格,X=B∩R),X中的候選數為紅、綠兩個候選數分離子集的並集,若滿足這些條件,紅、綠兩個子集可各自對所在單元其他格內的候選數進行擯除。
為什麼可以這樣刪數呢?以ALS的視角來看原理很簡單,將這四格按所在單元分為宮、行兩組ALS(每組都是3格4數
1、若宮行相交區域的A、B都不成立,則R5深色3格中只能填入C、D兩個候選數,違反數獨規則,故宮行相交區域的A、B必須成立一個,這樣就會與R4C1格構成AB數對,進而對AB數對所在的B4進行擯除;
2、若宮行相交區域的C、D都不成立,則B4深色3格中只能填入A、B兩個候選數,違反數獨規則,故宮行相交區域的C、D必須成立一個,這樣就會與R5C5格構成CD數對,進而對CD數對所在的4進行擯除。
我們還可以用陣列的視角來進行分析:在深色4格中,存在且僅存在(A、B、C、D)4個不同的候選數,雖然4格不在同一單元,但他們籍由交疊區域聯結,並不影響(ABCD)陣列的成立(在N格中存在且僅存在N個不同候選數
來看第2種基本形態:
圖2 SDC-02與圖1示例不同之處在於,相交區域多出了一個候選數E,相應的格數也增加了一格,深色5格存在且僅存在 A、B、C、D、E 5個候選數,我們仍可將這些候選數分為分處宮、行的兩個分離子集(AB)與(CDE)或者(ABE)與(CD),並且,宮和行(列)相交區域的三格為兩個分離子集的並集,與上例一樣,大家可以分別用陣列和ALS的視角來理解刪數的邏輯,只是本例中由於候選數E僅位於相交區域內(亦即E同時存在於B4、R5兩個單元),所以,E可以對B4和R5兩個單元進行擯除。
來看例項:
圖3 SDC-03圖3盤勢中,B7和R7中R7C137、R8C3四格僅含有(3、4、5、9)4個候選數,藍色候選數(4、5)構成一個子集,紫色候選數(3、9)構成一個子集,兩個分離子集相交於R7C13兩格,且這兩格為兩個子集的並集,這4格形成SDC結構,每個子集可對其所在單元其他格內的候選數進行擯除(紅色)。
圖4 SDC-04圖4則是基本形態2的一個例項,相交區域多出了候選數4,大家可以根據前面的介紹來理解本例的刪數,具體過程不再贅述。
二、擴充套件形態
在基本形態的基礎上,組成SDC的各單元待解格每增加一個新的候選數(不同單元可增加相同的候選數),都須相應在該單元增加一個僅含有SDC中候選數的待解格,SDC待解格中的所有候選數可按其所處單元分為若干個子集,每個單元的候選數子集須存在於其所含元素數+1的待解格中,且不同單元的待解格存在交疊區域(格數≧2),交疊區域內的候選數來自這些子集的並集(交疊區域候選數個數≧交疊區域格數+2),每個子集都可對自身所處單元內其他格中的候選數進行擯除。
圖5 SDC-05
圖5的例子就是基本形態一的擴充套件,B6和C8中,綠框5格中僅存在候選數(3、5、7、8、9),這些候選數可分為宮(7、8、9)和列(3、5)兩個分離子集,每個子集都存在於其所含元素數+1的待解格中,宮列交疊的兩綠框格內的候選數(3、5、7、8)來自宮、列兩個子集的並集(3、5、7、8、9),宮中的子集(7、8、9)可對B6其他格中的7、8、9進行擯除,列中的子集(3、5)可對C8其他格中的3、5進行擯除。
圖6則是基本形態二的擴充套件,7格7數,大家可以對照定義自己揣摩一下刪數的過程。
圖6 SDC-06圖7是基本形態一的擴充套件,特殊之處在於列和宮的待解格中增加了相同的候選數1,依然可以將其分為C7綠框四格(1、4、9),B9綠框四格(1、2、8)兩個子集,這兩個子集都是3數4格,交疊區域兩格候選數為(2、4、8、9),其元素來自於兩個子集的並集,可分別刪去C7其他格中的1、4、9,B9其他格中的1、2、8。
圖7 SDC-07圖8的例項則是在圖9的基礎上再次擴充套件,請仔細體會。
圖8 SDC-08以上都是可以分為兩個子集的SDC,兩個以上子集的SDC非常難觀察,平時做題幾乎用不到,就不介紹了。文末附上幾個SDC的練習題,大家看看能不能找出來。
SDC 練習題1 SDC練習題2 SDC練習題3作者:零時四分_719b
連結:https://www.jianshu.com/p/673d43264984
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。