二国同盟Part1 java支援プログラム
2国同盟のパターン探索にプログラムを使います。
二国同盟には、縦列/横行/ブロックの3種類があります。ブロック以外の二国同盟については下のリスト。
プログラムの使い方の概略:ナンプレ盤面の下の数字(1~9)を押すと、レーザー発射法が自動表示され、←ヒントが表示されます。その数字が入れないマスの背景は青、入れるマスは白(空きマス)になります。
空きマスをクリックすると、「2,3,7だけ」のように、可能な候補が表示されます。
ナンプレ問題盤面
clickしたマスの候補はだけ
座標のマスの唯一の候補はNaked Singleでだけ
clickしたマスにを連続入力:を
二国同盟Part1の解き方
この問題は、レーザー発射法も、Locked Candidates法も、奥の手Naked Single法も使えません。2国同盟法を最初に使います。
2国同盟法
1のボタンを押すと、上段右のブロックには、1の空きマスは、A9,C7だけです。右図。
9のボタンを押すと、上段右のブロックには、9の空きマスは、A9,C7だけです。右図。
1,9の二国同盟が見つかりました。
2国同盟の成立
A9,C7の2つのマスには、1、9以外は入れません。19の2国同盟の成立。右図。
B9に5が確定
ここで5のボタンを押すと、上段右のブロックで5の入れるマスは、A9とB9です。右図。
二国同盟で、A9には1か9が入るので、A9に5は入れません。従って、B9に5が確定します。右図。A9のマスの候補から5が削除されたのです。
何故、1、9、5のボタンを押すのかは、2国同盟が成立する条件で解説します。
後は、レーザー発射法だけで解けます。
レーザー発射法の手順
B9に5を入力した後、
- 8のボタン→B6に8。
- 7のボタン→E6,F7,G8,I1に7。
- 1のボタン→C7に1。9のボタン→A9,I7に9。3のボタン→H7,G3,E1に3。
- 8のボタン→A8,D9に8、全ての8が確定。
- 1のボタン→A1に1。2のボタン→E4、D7に2、全ての2が確定。4のボタン→E8,B7,D1,C2,G6に4。5のボタン→全ての5が確定。6のボタン→全ての6が確定。その他の数字も全て確定。
上記の作業が面倒な方は、下のボタンを押せば、レーザー発射法で、瞬時に解答図までいけます。
解答は右図になります。
「二国同盟法の発動」のソースコード(100行)
最後まで読んでいただいて、ありがとうございました。