エクセルVBAで、ナンプレの自動解答プログラムが一応完成した。
しかし、ロジック的に決めきれない場合には伝家の宝刀「乱数に頼る」という手段を取った。手順は、
- 自動解答アルゴリズムで決まるコマを決定させる。
- 全てコマが埋まれば終了。そうでない場合は、
- 乱数で、x座標、y座標、数字を発生させる。
- その数が、全て使われておらず、指定コマに入る場合はその数を仮決定とする。
- 自動解答アルゴリズムを適応
- 全て埋まれば終了。そうでない場合は、
- コマを元に戻し、試行回数に応じて、発生させる数の個数を変化させる。
- 3に戻る。
これで、前回の問題を解かせると、3秒後に解答が表示された。
次に、VeryHardの問題をいくつか解かせてみたが、全て自動で解答が表示された。所要時間は乱数を使っているため、10秒~40秒とやや幅があった。
最後は、ロジックではなく、乱数で決めるという手段を駆使したため、スッキリとはしないが、取りあえず自動解答VBAを作成するという目標は達成できたので満足している。