ナンプレを解くプログラミングをするにあたってどのようなアルゴリズムにするか考えていきたいと思います。とりあえずメモを書いたので載せておきます。

ナンプレのルールとして以下の3点があります。

①同じ行には同じ数字が入らない

②同じ列には同じ数字が入らない

③3×3のマス(上図Ⅰ~Ⅸ)内に同じ数字が入らない

 

とりあえず簡単なものを作成しようと思うので下記のようにしたいと思います。

・各マスに対して①~③の判定をして1~9の数字が入る可能性を確認する。

・候補が1つになったらマスに入る数字を確定する。

・すべてのマスの数字が確定するorマスの更新ができなくなると終了とする。

 

これではすべてのマスを埋められなくても終了となってしまいます。また、深く探索はしないので効率も悪くなってしまいます。そこはのちほど考えていきたいと思います。

 

次からはソースコードを書いていきます。