argius note

プログラミング関連

ナンバープレイス/数独

微妙に定義が異なるのか、まったく同じなのか。おー、さすがヰキペヂア先生。すぐわかりましたよ。後者は登録商標だって。えーと、「コンピュータを用いて数独の問題を解答したり作成したりすることも広く行われている。」って。ま、そうでしょうね。
しかし、あえて1から*1作ってみよう。ヒントなしでどこまで定石に近づけるかが腕試しになるからね。まず、Javaで簡単なGUIで表示できるように整えて、あとは解法部分のアルゴリズムをガリゴリ書いてけば良いわけだ。
さて、はじめに最も単純な解法、総当りを書いてみる。一周する間に最低一回以上置けたら繰り返すようにする。なければギブアップとする。で、初級問題を解かせてみる。事前に自分で解いたものと同じ結果になればOKと。
初級はあっさり通過。ただこのルールだけで解けるのは初級までだろうと予言、じゃなく予測。案の定、ちょっとレベルが上がったらすぐギブアップしてしまった。つか、自分もまだ解けてないんで。でも、総当りよりは進んでるから、そのちょっとだけ上を行ってる解法を実装してみればいいんだけど、流石に簡単にはいかないだろうな、ということで続く、と思う。

*1:「1から」「ゼロから」「一から」どれが良いんだっけ。