ハートの模様の数独の問題をプログラムで解く
初期配置がハートの模様の数独の問題です。レーザー発射法を使ってから、Naked Single法(裸のシングル)を2回使います。
プログラムの使い方の概略
ナンプレ盤面の下の数字(1~9)を押すと、レーザー発射法が自動表示され、盤面右と下に←ヒントが表示されます。2のボタンを押してみて下さい。空きマスをクリックすると、「2,3,7だけ」のように、可能な候補が表示されます。
ナンプレ問題盤面
clickしたマスの候補はだけ
座標のマスの唯一の候補はNaked Singleでだけ
clickしたマスにを連続入力:を
ハートの模様のナンプレの解き方
まず、レーザー発射法を使って、盤面を埋めます。ナンプレ盤面下の1~9のボタンを押すと、盤面右と下に←ヒントが表示されます。その行、列にボタンの数字が一意的に決まります。その結果が右の図。
レーザー発射法の手順
- 2のボタン→C8,F9,H1に2。5のボタン→A1,C5,H9に5。6のボタン→C7に6。7のボタン→D6,G8,I3に7、全ての7が確定します。9のボタン→B9,F7に9。
- 1のボタン→A3,B4,G2,F5に1。3のボタン→A8,B6に3。8のボタン→A9,B1に8。9のボタン→A2に9、全ての9が確定します。
- 1のボタン→全ての1が確定します。3のボタン→H7に3。6のボタン→D8,H5に6。8のボタン→H8,I2に8。
- 4のボタン→H2,C3,F1に4。3のボタン→C2に3。57マスが埋まりました。
上記の作業が面倒な方は、下のボタンを押せば、レーザー発射法で、瞬時に右上の図までいけます。
Naked Single法
ナンプレ問題盤面の上に『座標A5のマスはNaked Singleで、4だけ』と表示されていると思います。この表示は、初期配置の時にはありませんでした。レーザー発射法を使っていく途中で、表示されました。Naked Single法は、いきなり使える事もありますが、ある程度、マスが埋まらないと使えない事もあります。
A5のマスに4を入力して、1~9のボタンをクリックして下さい。『座標D3のマスはNake Singleで、8だけ』と表示されます。D3のマスに8を入力して、8のボタンを押して下さい。『D7のマスはNake Singleで、4だけ』の表示に従うか、←ヒントで進めるか。どちらでも、解答にたどり着きます。
Naked Single法とその理論についてはナンプレ支援プログラムNaked Single法で、説明していますが、人間の頭の中で作業するのは困難なので、プログラムに組み込みました。
ハートの模様の数独 解答
解答は下図になります。
ナンプレ解法javaプログラムのソースコード(270行)
最後まで読んでいただいて、ありがとうございました。