無駄な探索をまじめに削ればいくらでも速くなるが、そうするとどうしてもコード量が増えるのでやめといた。*2問題データはテキストファイルで与える。各行ごとに数値を空白区切りで記し、行は改行で区切る。1実行すると結果が次のように表示される。記事にてイラストロジックの解き方が解説されているが、その中の「消去法」以外の推論はすべて入っている。行単位の推論は完全に行える。「消去法」は複数行を同時に推論しないと解けない問題や、解が複数ある問題には必要になるので、それらの問題をこのコードに与えると、解答が途中で終わってしまい空白が残ったままの結果が出力される。消去法は実はそんなに難しくはないが、試行数がめちゃめちゃ増えるのでパス。あるパズル雑誌の問題は解が複数あるなんて絶対にないし、行単位の推論で必ず解けるようになっているっぽいので、このコードでも大丈夫。*3一方、投稿サイトとかの問題は解が複数あるものも珍しくないので注意。あと、問題にミスがあると☆が出力されることがある。solver.printFieldend*1:x68kエミュあるけどめんどくさいよね*2:書いたけど削った*3:消去法を使わないと解けないのは人間には難しくなりすぎるだろうからか、解は1つしか無いけど消去法を使わないと解けない問題を作ることが単純に難しいからか。iVocaプログラミングまんがプロフィールid:n_shuyoはてなブログをはじめよう!n_shuyoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。