解一盘SUDOKU防老年痴呆
文章来源: 人間的盒子2016-12-29 23:15:13

我只玩五星的,没用程序,但用文本记录下过程的。原题:

 

先填唯一解的:(比较直接,就不说原因了)

行3 列7       填5

行2 列5       填9

行4 列9       填5

行9 列1       填5

 

行8 列5       填8,   因为列4已经有8,行7已经有8,所在块的8只能在 行8 列5

行7 列6       填6,   因为列4已经有6,所在块的6只能在 行7 列6

行7 列4       填5,   因为所在块的另两行都已有5

行9 列2       填8,   因为所在块的另两行都已有8,列3已经有8

行3 列4       填2,   因为列6已经有2,所在块的2只能在 行3 列4

行1 列7       填2,   从列7看,行6和行8都已有2

行5 列6       填5,   所在块其它行列都已经有5

行6 列6       填4,   行8列4和行9列4是所在块仅剩的,必为4或7,因此列4已经有4(和7),所以当中这块的4只能在 行6 列6 

行4 列6        填8,   所在块其它行列都已经有8

行6 列9        填1,   所在块其它行列都已经有1

行4 列4        填1,   所在块其它行列都已经有1

行6 列4        填3,   所在块其它行列都已经有3

行5 列4        填9,   所在块其它行列都已经有9

行6 列1        填8,   所在块其它行列都已经有8

行5 列8        填8,   所在块其它行列都已经有8

行1 列9        填8,   所在块其它行列都已经有8

唯一的状况应该算差不多了:

 

接下来我觉得都不唯一了,试探吧。

从行5看出,其列2和列5是剩下的两列,必为6或7。先试探行5列2填7,所以行5列5该填6,然后行2列3填7,行2列1填2,行2列6填3,行2列9填4,行1列2填4,行7列9填3,行6列7填7,行6列5填2,行4列5填7,行8列7填9,行7列2填9,行8列1填4,行2列3填2,行9列3填6,行9列9填7,行9列4填4,行9列8填2,行7列8填4,行8列4填7,行8列9填6,行7列3填2。

到这里,列3只剩下行4且这列需要4,而该行和该块都已经有4,因此为矛盾,也就是  行5列2填7  是失败的,也就是 行5列2应该填6。失败的为(然后再回到前一图,行5列2填6再继续):

行5列2填6,然后依续就完成为:(红色小数字为先后次序,全部是唯一选择,到完成没有产生矛盾)