二国同盟Part1 java支援プログラム

2国同盟のパターン探索にプログラムを使います。

二国同盟には、縦列/横行/ブロックの3種類があります。ブロック以外の二国同盟については下のリスト。

プログラムの使い方の概略:ナンプレ盤面の下の数字(1~9)を押すと、レーザー発射法が自動表示され、←ヒントが表示されます。その数字が入れないマスの背景は青、入れるマスは白(空きマス)になります。

空きマスをクリックすると、「2,3,7だけ」のように、可能な候補が表示されます。

ナンプレ問題盤面

clickしたマスの候補だけ
座標のマスの唯一の候補はNaked Singleでだけ
clickしたマスにを連続入力:

ナンプレ盤面
A
B
C
D
E
F
G
H
I



←盤面変更禁止チェックを入れると、その時、埋められているマスは変更不可になり、外せば再度、変更可能です。2つのボタンは、チェックが入っているとdisabledです。(文字が薄い)

textarea(Text box)は、直接編集可。左クリック→右クリック→全て選択→コピペできます。

二国同盟Part1の解き方

この問題は、レーザー発射法も、Locked Candidates法も、奥の手Naked Single法も使えません。2国同盟法を最初に使います。

2国同盟法

1のボタンを押した時の盤面 1のボタンを押すと、上段右のブロックには、1の空きマスは、A9C7だけです。右図。

9のボタンを押した時の盤面9のボタンを押すと、上段右のブロックには、9の空きマスは、A9C7だけです。右図。

1,9の二国同盟が見つかりました。

2国同盟の成立

19の2国同盟の成立A9C7の2つのマスには、1、9以外は入れません。19の2国同盟の成立。右図。

B9に5が確定

5のボタンを押した時ここでのボタンを押すと、上段右のブロックで5の入れるマスは、A9B9です。右図。

29に5が確定二国同盟で、A9には1か9が入るので、A9に5は入れません。従って、B9に5が確定します。右図。A9のマスの候補から5が削除されたのです。

何故、1、9、5のボタンを押すのかは、2国同盟が成立する条件で解説します。

後は、レーザー発射法だけで解けます。

レーザー発射法の手順

B9に5を入力した後、

  1. のボタン→B6に8。
  2. のボタン→E6,F7,G8,I1に7。
  3. のボタン→C7に1。のボタン→A9,I7に9。のボタン→H7,G3,E1に3。
  4. のボタン→A8,D9に8、全ての8が確定。
  5. のボタン→A1に1。のボタン→E4、D7に2、全ての2が確定。のボタン→E8,B7,D1,C2,G6に4。のボタン→全ての5が確定。のボタン→全ての6が確定。その他の数字も全て確定。

上記の作業が面倒な方は、下のボタンを押せば、レーザー発射法で、瞬時に解答図までいけます。

星5の解答解答は右図になります。

「二国同盟法の発動」のソースコード(100行)

最後まで読んでいただいて、ありがとうございました。