この迷路の生成アルゴリズムがいくら考えても分からないです。
分かる方はぜひ教えてください。
これはぱっと見,クラスタリングによる迷路生成のアルゴリズムですね。
ランダムに壁を壊して行き,
つながった部分を「同じ色」で満たす。
(Windowsのペイント等で閉じた領域を塗りつぶすイメージ)
閉じた領域がn個ある場合,n個の異なる色で塗り分ける。
次に壁を壊す際には,「色」の違う隣り合ったマス目にはさまれた壁だけを壊す。
そして開通した穴の両側にある閉じた領域を,新たに共通の一色で塗りつぶす。
そうすれば,同じ色で満たされているマス目の間にある壁を壊してループが発生するのを避けられる。
この調子で,最終的に領域の全体が一色の色で満たされるまで続ければ
ループのない迷路が完成する。
クラスタリングによる迷路作成アルゴリズム
http://apollon.issp.u-tokyo.ac.jp/~watanabe/tips/maze.html
「ランダムに壁を壊す。このとき、隣あう部屋がつながったとしてクラスタリングする」