宫摒除(Hidden Single in Box)
提示
但凡数独的技巧都由两部分组成。
第一是结构,每个技巧都有其结构,通常会把不同的结构冠以不同的名称,比如这里将的宫摒除法,以及以后要讲的行列摒除法、余数法、数对等。
第二是作用效果,也就是说发现这个结构以后,我们利用这个结构做什么。作为初学者,我们先要理解一个结构能够产生什么作用效果,再了解如何去找一个结构,最后灵活运用各个结构的作用效果来解题。
数独的规则中提到,在每个宫内,每个数字只能出现一次,也就是说如果一宫中已经出现过数字 1,则这宫的其他格都不能为 1,由此引发出宫摒除法。首先来看一个例子:
| C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 | |
| R1 | 4 | 3 | |||||||
| R2 | 6 | 3 | 2 | ||||||
| R3 | 8 | 9 | 1 | 1 | |||||
| R4 | 8 | 5 | 7 | 2 | |||||
| R5 | 8 | 4 | 6 | ||||||
| R6 | 9 | 3 | X | 5 | |||||
| R7 | 5 | 1 | 6 | ||||||
| R8 | 1 | 8 | 5 | ||||||
| R9 | 5 | 3 |
因为 R6C7 为 5,所以同处于 R6 的 R6C6 不能为 5,B5 的 5 尚未填写,在摒除了 R6C6 后,只剩下一个可能,那就是 R4C4 = 5。
现在你已经对摒除法的作用效果由一定认识了吧。对了,摒除法排除了某数在一个单元的几种可能性后,使得最终这个单元只有 1 格可以是这个数字,然后我们就可以填上它。
摒除法的作用对象可以是宫或者行列,所以,我们又把摒除法分为两类:一类为宫摒除,另一类为行列摒除。本页阐述宫摒除的作用效果。
| C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 | |
| R1 | 4 | X | X | 1 | |||||
| R2 | X | 7 | 2 | 3 | 8 | ||||
| R3 | X | 1 | 8 | 7 | 5 | ||||
| R4 | 4 | 5 | |||||||
| R5 | 5 | 8 | |||||||
| R6 | 6 | 4 | |||||||
| R7 | 1 | 4 | 5 | ||||||
| R8 | 5 | 7 | 9 | 2 | |||||
| R9 | 7 | 1 |
如上所示,通过数字 1 对 B1 摒除。
R1C7 为 1,所以同处于 R1 的 R1C2、R1C3 不能为 1;
R7C1 为 1,所以同处于 C1 的 R2C1、R3C1 不能为 1。
B1 的 1 尚未填写,原本可能是 1 的 5 个单元格,有 4 格被排除了,所以得到 R3C2 = 1。
继续增加观察难度。
| C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 | |
| R1 | 9 | 2 | |||||||
| R2 | 4 | 3 | 2 | 5 | |||||
| R3 | 6 | 8 | |||||||
| R4 | 9 | 1 | 6 | ||||||
| R5 | 7 | 4 | |||||||
| R6 | 2 | 7 | 6 | ||||||
| R7 | X | 6 | X | 7 | |||||
| R8 | 7 | 9 | X | 8 | 5 | 1 | |||
| R9 | 4 | X | X | 7 |
数字 7 对 B7 摒除。
R7C5 为 7,则同处于 R7 的 R7C1 与 R7C3 不能为 7;
R9C9 为 7,则同处于 R9 的 R9C2 与 R9C3 不能为 7;
R5C3 为 7,则同处于 C3 的 R7C3、R8C3、R9C3 不能为 7。
B7 的 7 尚未填写,6 个空格有 5 个已被排除,所以得到 R8C1 = 7。
有的时候需要四条摒除线。
| C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 | C9 | |
| R1 | 8 | 1 | |||||||
| R2 | 6 | 3 | 5 | 7 | |||||
| R3 | 5 | 7 | 6 | ||||||
| R4 | 9 | X | X | X | 5 | ||||
| R5 | 5 | X | X | X | 4 | ||||
| R6 | 3 | 5 | X | X | 6 | ||||
| R7 | 2 | 5 | 9 | ||||||
| R8 | 7 | 1 | 6 | 2 | |||||
| R9 | 1 | 7 |
数字 5 对 B5 摒除。
R2C6 为 5,则同处于 C6 的 R4C6、R5C6、R6C6 不能为 5;
R5C3 为 5,则同处于 R5 的 R5C4、R5C5、R5C6 不能为 5;
R4C8 为 5,则同处于 R4 的 R4C4、R4C5、R4C6 不能为 5;
R7C5 为 5,则同处于 C5 的 R4C5、R5C5、R6C5 不能为 5;
B5 的 5 尚未填写,9 个空格有 8 个 可以排除 5 的可能,所以得到 R6C4 = 5。
通过上面几个例子,相信你对宫摒除的作用效果有一定了解。但是一道题目拿给你,不会明确指出下一手需要什么技巧,这就牵涉到一个搜索方法的问题。怎么样更有效的去搜索,不漏下任何一个可能的解呢?
比如可以找已知个数比较多的数字,但这并不是百发百中的,很多时候已知多并不代表它就能出数。因为搜索方法的不同,往往引起很多重复性的搜索。如果一会以已知多的找,一会以某个宫找,很可能忽略了其他一些解,而这些解可能是这个盘势唯一可解的地方,或者不把这个解出来观察会变得很困难。
对于初学者来讲,首先要尽量把题目做出来,在这里推荐两种观察法,第一种可以按照数字 1-9 的顺序搜索,第二种可以按照 B1-B9 的顺序搜索。
数独的解题过程绝大部分能通过宫摒余解,因此要学好数独解题,宫摒除是最基本也是最重要的观察法。
一道谜题的全部解题过程可以通过宫摒余解而完成解题的称为 完全宫摒余题,简称 全宫摒。虽然宫摒余解比较容易观察,但通过解题路径的设计也会有难易之分,对一般人而言,它们的难度差别可到 3-5 倍之多。
一道谜题的全部解题过程通过宫摒余解,按数字 1-9 的顺序依次完成的称 一刀流完全宫摒余题。这种类型的题目因为有强烈的解题暗示,因此对初学者建立完成解题的信心会有很大的帮助。另外,对训练解题的快速反应也会有莫大的帮助。
以下是一些一刀流完全宫摒余的题目,提示数为 31-25。
| 31 提示数 |
|---|
| 000079645600000000004306000170000052400125008950000036000408200000000001213560000 |
| 000010060005002003621300000810504700060080010004601089000005297200100800030040000 |
| 001900007000004060003800510030620150020010040058093020017009300040200000800007200 |
| 074002509030109000000500072300006004020030060400200007960004000000908010801700290 |
| 120600548000100020000020630003780050000060000050019200084030000010006000976002014 |
| 403092010080001036060080000000400500034050620007003000000020040640100050050870201 |
| 30 提示数 |
|---|
| 000005010100020006075140003006004079010000030730900200600018450500030002020400000 |
| 000900805000010040501800200005000704076204150204000900008002403010050000309007000 |
| 000534090005020060010090703000800021001000400480006000802060010040070300070183000 |
| 001030058003010020602470000750003006000000000200600013000094105030050200920060400 |
| 005001003030090401400002650004000105000306000206000700021900004903070020600500800 |
| 200956300000001058104000000800200010705000602010004003000000205530700000006513004 |
| 29 提示数 |
|---|
| 000062700073041005050000040005600000024030150000009200040000080200410390001370000 |
| 000310002009200164070000800000540020001060300090072000008000040356004200900031000 |
| 001003080340500020800021000657000000008090700000000261000350006010009034090400800 |
| 005013008000200035400000701300000670007030400021000003709000004810002000200140500 |
| 300804100000005062570002000004000089060070040180000700000300015240100000001209003 |
| 000000340012300800070085001350000700000156000004000026800420030005001260031000000 |
| 28 提示数 |
|---|
| 000008003430007500601020009006000105000403000802000700200030908009100042100200000 |
| 000019040105006300000000602800004900027000430009100006301000000002400705040620000 |
| 000200600502304000016000040090400003083000490700008010030000250000805704001003000 |
| 000307060000040017100500020007820500080000040003054700040001008210030000030206000 |
| 000910000002080001008300460200000043085000610160000002043009500600020700000045000 |
| 001480000003000286020070000300000010640203057050000004000030020796000500000091700 |
| 27 提示数 |
|---|
| 005010003000900270401007000010003002002060700800400050000200107036005000200030400 |
| 000000300001004907500002040020010005030568020400070060010600004709300100008000000 |
| 000001024070000010001820006002004005400050008600900300700018500010000030530600000 |
| 000007040240801000000006270903000002080060010700000603054700000000602031010300000 |
| 000900507020000030040056000007005003100278006500300100000510020030000010901007000 |
| 001300500000100020000057006106200003300040002700005908800410000020009000005006400 |
| 26 提示数 |
|---|
| 000000000009310000003980450060054001020000060500160030014093700000042500000000000 |
| 000000600043002001000036200200400010004103700070008009008620000400500120001000000 |
| 360070050000100008001200040100400700005000200002001003090008300400005000020030061 |
| 006002000541000000000130005029004080700000004010200930300017000000000461000800200 |
| 006530008800001400040000000160020030090000070030040052000000060001200003200076100 |
| 010800400020003070009200006003060100000108000002040500400001300090300020006005040 |
| 25 提示数 |
|---|
| 001000000040003006000010973000004021006080500350200000517090000600300090000000200 |
| 000002300500900600390010500040200001000030000200005070001080034006009002007100000 |
| 000100005002600100300027000401030000030040090000010204000260003007009500200004000 |
| 000400108700000090300020000040001062003090800650300010000070005010000004902003000 |
| 007050040200007060060002003301000000004010200000000504500300020080100009020040100 |
| 562000080000400010040200005000009600200050004003100000300007090010006000050000132 |
以下提供几个漂亮图形的全宫摒一刀流,希望漂亮的图形能够让你更有兴趣完成这些题目。
| 000000000004102600030050020020010030006504100080070040070020060001403500000000000 |
| 050000070102000503030060040000504000005000200000102000040070080306000104010000030 |
| 060000020470060058001000300000501000090000080000402000003000100510020074020000090 |
| 000000020068000039200100500043006000000000000000200170005003004910000250080000000 |
| 800000200050000014030020000900204000004000600000103002000070050160000030007000001 |
| 042000010100500008300600000071000000000060000000000320000001006400002007090000540 |
一刀流在一个 1-9 的循环即可完成。相对于一刀流而言,按照 1-9 的数字顺序大约在 2 到 3 个循环内可以完成解题的,称为 快刀流。
一刀流谜题有强烈的解题暗示作用,因此可以训练自己观察及扫数的能力。快刀流虽然已失去解题的暗示,观察已经有些不同,但仍不失解题线索的流畅性,也是训练观察的好材料。若你的一刀流已经做得很流畅,且快刀题的速度已经很接近一刀流时,表示你的观察能力已有进步。
以下是一些提示数为 30-26 的全宫摒快刀题。
| 30 提示数 |
|---|
| 000010630600004100040058200030870056000000000250043070009420060008700009012080000 |
| 000013000700800063100400200856000040001604500040000698005001006980007002000940000 |
| 010004003023050000600002005168300900090000060002009834900400006000090710500100020 |
| 104590000500200903008004000080040067009000800460030050000600100702003006000012708 |
| 105002006070005100008134000400020009020000060300090004000813200003200050900600408 |
| 205004030000089506090000840006000005004507100300000400063000070902710000070900601 |
| 29 提示数 |
|---|
| 100000970000143520060000030000800017000637000870004000020000050035762000091000004 |
| 300600890000080001007003200490002700070050010003800065002400600100090000036008007 |
| 000263010007901230000000008001005089000070000640100300300000000015309700020458000 |
| 000175000010000230890040000320900500005080100004002086000030065043000070000864000 |
| 001000769700000300000306000050060901040231080807090020000509000009000002672000400 |
| 000000024600003070003902050370090000205010406000040083060104900030500007850000000 |
| 28 提示数 |
|---|
| 000001068023000500100094072000020006000603000400080000690340005008000410730800000 |
| 502400000008020001070300008081040027000000000960070380600005090200090600000003104 |
| 010003000004000060005007824000100009098302750200006000376800100040000600000500070 |
| 010042500000070090625000000007100002002803700900005300000000876070050000001680040 |
| 140000000000007060020040708706500900004803100008001204301080040050900000000000021 |
| 100026300742050000000100070635000000000802000000000431080005000000010962003690008 |
| 27 提示数 |
|---|
| 000001020310000090907005800080003054000020000620900030001400305090000016070800000 |
| 010200000000000403060030792005300040000621000070004100948010030206000000000008050 |
| 012000006630470000008090000040500003060040070900008050000060800000015037300000140 |
| 130500074000800001702000000500700900001090400004002008000000306400003000980004052 |
| 001200070200300400500040008000007019700090005620500000400080003007001002080003700 |
| 138200000040007300000001026007800000400020008000005400750400000001700090000006275 |
| 26 提示数 |
|---|
| 000003502001000004004082090040006030005000200080500010020630900300000400607100000 |
| 010430000004060000052000300300800001160000089800002006003000640000090800000073050 |
| 000000317046708000000200008000010020067000580090050000800005000000902730439000000 |
| 100000000704590000000700630000020061006407200940080000078003000000062105000000004 |
| 010006307670020000000000500080009700300708004005100020009000000000010048103600090 |
| 000200950890040200300000000000400013060508040270006000000000001001030075049005000 |
注意
一般全宫摒除的一刀流按数字顺序去解题是最快的方法。若没按数字顺序去解题,则有可能比解快刀流慢。
以下这些谜题都是全宫摒余题,但解题路径被打乱且提示的出现少,因此难度高。
| 001000540030045000050001007040003009010020060200900050400500020000490010025000600 |
| 070804030020000010380090074008302100000000000004107300240050069010000040090408020 |
| 800000004062000390500829001005070400000608000001030500200481005013000840400000009 |
| 000409000200000001053806720507000103400000006108000902091304250800000009000102000 |
| 890000026001708900040090030020040080000907000030010070070050010004203700680000092 |
