棒倒し法で迷路作成
ちょっと前のプロジェクトで、メンバー全員で設計をゴリゴリやっている時期があったのですが、一日30分位はコードを書かせたいと思い、どう書く?orgの課題をメンバーに解かせていたことがありました。
そのとき、どう書く?orgという課題があり、担当のメンバーは独自アルゴリズム(やや穴掘り法っぽい)で解いていたのですが、もっとスマートなやり方があるのでは?と気になっていました。
そして未だに、この課題が気になっていたのでチャレンジしてみました。ただし、迷路作成の定番アルゴリズムがどうしても知りたかったので、自力でアルゴリズムを考え出すのは省略しました。
調べてみたところ、棒倒し法、穴掘り法というのが定番アルゴリズムらしいです。穴掘り法は思いつきそうですが、棒倒し法のほうは思いつく自信はありません。ちょっと感動しました。
で、今回は、棒倒し法で挑戦しました ⇒ どう書く?org
あ〜〜 すっきりした。
mitsu@garlic$ ./maze.native 8 8 ■■■■■■■■■■■■■■■■■ ■ ■ ■ ■ ■ ■ ■■■■■■■ ■ ■ ■ ■ ■ ■ ■ ■ ■■■■■■■■■■■■■ ■ ■ ■ ■ ■ ■ ■■■■■ ■ ■ ■■■ ■ ■ ■ ■ ■ ■ ■■■ ■ ■■■■■■■ ■ ■ ■ ■ ■ ■ ■ ■■■ ■■■■■ ■ ■■■■■ ■ ■ ■ ■ ■■■ ■ ■ ■■■■■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■■■ ■■■■■ ■■■■■ ■ ■ ■ ■ ■ ■■■■■■■■■ ■■■ ■ ■ ■ ■ ■ ■■■■■■■■■■■■■■■■■ mitsu@garlic$
追記:壁かどうかをヴァリアントにした版を再投稿しました。
どう書く?org
追記:id:osiireさんのアドバイスを皮切りに、色々気になったところが出てきたので、LL Golfの嵐の中を再再投稿…
どう書く?org