パズル勉強会

パズルプログラミング勉強会

第2課題:数独

2002年2月18日 by パソコン初心者


今回は、数独(ナンバープレイス)を解くプログラムに挑戦するということである。 しかし、このパズル、どうも好きになれないのである。 だから、腕の方も、さっぱり伸びず、いつまで経ってもハード数独の最後のあたりでもたつく。

パズルの解法プログラムを作るには、必ずそのパズルに強くなければならない筈なのだが、 今回は、そういうガチガチの古くさい発想を完全に粉砕したいと密かに狙っている。 本音は、数独のノウハウを組み込むなどというのはとっても面倒そうなので、 別の逃げ道を考えただけのことなんだが(^_^)

■問題データ: sudokuvol2.data 
これは、私のページで公開している数独問題集のVol.2の全問題データである。 これを読み込みながら、ホイホイ解けることを目指そうかなぁ。 パズルプログラムの検証用に使う分にはいくらでも利用してくだされ。

■見てはいけないプログラム:sudoku.c
何とかでっちあげたので、公開しておきます。目が潰れても保証しません。
解き方は、非常に異常な方法で、こういう無茶な方法を皆さんはしないように!
なお、地下パズル研究室では、こういうのが普通だったりするようですが(^_^)

■馬鹿プログラム:bakadoku.c
ルール以外何も入れていない、何の工夫もしていない、本当に馬鹿なプログラムです。
解き方は、ただただルール上可能な数字を全て調べるという、無能プログラムです。
しかし、ちゃんと動きます。実行時間も、なぜか、それほど遅くなかったりする。

■等質プログラム:sudoku4.c
縦、横、3×3の3種類のグループがあり、それを意識してプログラムするのが普通だろうが、 そういうことを意識しなくても良いように誤魔化したプログラム。面倒な定理の実装には便利。
2001年8月1日
2001年8月18日 ソースを恥をしのんで公開
2001年9月17日 馬鹿プログラム「馬鹿独」ソース公開
2002年2月18日 等質プログラムのソース公開

パズル勉強会