sudoku-solver

あいだが空いてしまった。ちょうど1週間だ。5月の連休中から Scala のエントリを1月以上も連続で更新してたのに。まぁ、別にいいんだけど。

で、今日から再開ということで Scala をやろうと思ったんだけど、事情があって Haskell だ。

数独っていうパズルがある。ナンプレともいう、マス目に 1 から 9 の数字を入れていくアレだ。暇つぶしにやってたんだけど、入門編の問題くらいはともかく、それ以上になると途端に難しくなる。向いてないのかもしれない。

ともかく、こんなのやってられねーってわけで、問題を解くプログラムを作ってみた。Haskell で。

作ったものは GitHub にあげたので見てほしい。

 cf. takatoh / sudoku-solver

使い方はこんな感じ。

^o^ > type example2.txt
     87
928    15
     1
14    8
   485
  6    43
   5
51    924
  92

^o^ > sudoku example2.txt
431658792
928734615
675921438
147362859
392485167
856197243
284519376
513876924
769243581

問題は 9 × 9 マスに入っている数字を 9 文字 × 9 行のテキストファイルにして、sudoku プログラムにファイル名を渡してやるだけ。

「数独 難問」でググって出てきた問題でもあっという間に解ける。ああ、気持ちいい。