ジョ ジョイント・不等号ナンプレとは、ジョイント記号(-や|)と不等号記号(<>やΛ∨) が混在したもので、まさにナンプレをベースにジョイントと不等号のルールが同時に適用されるゲームです。懸賞ナンプレ雑誌の「ナンプレマカ゛シ゛ン」で見かけつくってみました。 <注>(記号がはいっていないところはジョイントのルールが適用され、連続した数値は入れないが、ブロック問題では、ブロックの境にはそれが適用されません。境を挟んでは連続してよい。)
<ジョイントナンプレのルール> ジョイント記号を挟む両側のセルは1つ違いの数値が入り、記号が無いセル間では両側のセルには2以上の違いがある数値しか許されない。すなわち、連続してはいけない。
<不等号ナンプレのルール>不等号記号を挟んだ両サイドのセルには不等号記号の向きに従った大小の数値(1~6や1~9などマス数)が入るパズルです。
「例題」シートには7マスと9マスの問題が載せてあります。(いずれも「ナンプレマガジン」より)
本ソフト最大9×9までのものに対応するよう設定してあります。(改良すればもっと大きなものが可能ですが)
多重問題には対応していません。また、純粋なジョイントや不等号問題もこのソフトで解けるはずです。やってみて下さい。(私はまだやってみていませんが)
① 「処理」シートが起動します。(右図)
問題の入力画面です。
② DATAの入力は以下の2通りあります。
(1)「処理」シートに直接入力する方法
1 「新規」ボタンを押し古いDATAを消します。
2 セルに入る数値DATAはキーボードから、セル間 に入る関係記号は、その場所のセルを選択し出るリストから入力します。
3 一辺のマス数を入力します。
(2)「例題」シートに一旦入力し、そこから読み込んで間接的に入力する方法
1 「例題」シートに移り、用意されているDATA枠の1つを選びます。古いDATAがあるときは、記載されている古い例題は消します。
2 (1)セル間の関係記号はリストから入力します。数値は直接入力です。一辺のマス数やブロックの有無も入力しておきます。
3 「処理」シートに戻り、例題リスト(A3ピンクのセル)から今入力した問題を選択し下の、「例題読み込み」ボタンを押します。
問題がセットされたら、
③ [処 理]ボタンを押し、完成を待ちます。
<未完成のまま停止>したとき。(例題6・7の181を例に説明します)
完成出来なかったときは、右図のように、次検索のメッセージBoxが出て止まります。
未完成その1.
「次検索しますか?」で「はい」を選択すると
上図のように、 画面右上に青の[次検索実行]ボタンが現れるので、これを押します。
例題6・7の181ではこれで完成しますが、それでも完成しない場合(現在そういう問題に遭遇していないが)は、現在のところは手動で解決しなければなりません。
未完成その2.
「次検索しますか?」で「いいえ」を選択すると
右図のように別 Root実行のメッセージBoxが出て止まります
●「別 Root」でやってみるときは、「はい」を押します。
「別 Root」とは、各処理のサイクルを変えたもので、この問題が各候補の決定順序によって順調に出来る場合と出来ない場合があるようなので作ってみたRoot2です。
●「手 動」でやってみるときは、「いいえ」を押します。
その場合の処理方法は以下に説明します。
<未完成のまま停止で「手 動」でやってみるとき>(例題6・7の181を例に説明します)
メッセージBoxに対し「いいえ」を選択し後、右図のように43行目以下にある「表2」を表示します。
ここで S49, S51, S53 の3マスに注目します。
中央のS51(569)の上下の間にはジョイント記号はありません。
したがって上下には中央の(569)と連続した数値が入れず、結果中央に連続数5,6が入れません。
すなわち中央は「9」ということになります。
次に、中央のS51セルに「9」を入力し、「確定戻し」ボタンを押します。
右図のようにC3:S19範囲を表示し、「処理」ボタンを押してください。
この例題の場合これで完成しましたが、これでも完成しない場合は同じことを繰り返します。
残念ながら現在、上記のような思考過程をプログラミング出来ていませんし、(例題8・9の178)のような問題に対応できるようなプログラムも勘考出来ていません。ごめんね!(2013.12.9記)
<多重問題への対応>(マガジン2・3月号に多重問題が掲載され急きょ追加しました。)
(1)多重問題を新規に作成するとき。・・・(不等号・演算のときと同じ要領です)
まず、A5セルの例題リストから例題を選択し、続いて「例題読込」ボタンを押すと例題が読み込まれます。
次に、「処理」ボタンを押します。
これで入っている2例題は右下図のように「多重候補」シートに「完成」と表示され停止しますが、 不等号やジョイントといったパズルの性質上処理速度が遅いのが難点です。
end