棒倒し法で絵を描く方法の続き
少し前の記事で、棒倒し法で絵が出る迷路が描けるか試してみた。
上の記事で試した時は、成功したものの、例外が発生する可能性があると記した。
でも、よく考えてみると、例外が、簡単に発生する。
それは、棒倒し法の仕組みに大きく関係している。
棒倒し法というのは上の図のように、まず、グリッドをつくって、1マスごとに棒に見立てた壁を決定する(四角い柱状の棒を上から眺めているような感じ)。その後、一番上の段の棒を上下左右のどこかに倒す。その際、倒した場所を壁にする。
2段目以降は、下左右のどこかに柱を倒す。
なお、倒した柱が重なってはない。(たとえば、柱を右に倒した場合、その右隣の柱は、左に倒すことができない。)
これを繰り返すと、迷路が完成する。
2段目以降は、下と左と右の3方向のどれかに柱を倒さなければならない。
だが、絵が出る迷路を作成する際に、正解の経路に下図のような袋小路があると、右にも左にも下にも倒すすことができない。つまり、棒倒し法ができなくなってしまう。
棒を倒さないマスがあったからといって、必ずしも、迷路が成立しないわけではない。
たとえば、下図のように、問題の棒のマスと外周の壁が結びついている場合は、絵が出る迷路は成立する。
この記事で書いた例だけならば、大した問題でもなさそうだが、まだまだ、例外は沢山発生しそうなので、絵が出る迷路を棒倒し法で作るのは非効率と言えそうだ。