やねう企画2005年入社問題解答と解説(2)

問2.

問2.は、ペイントアルゴリズムを書けるかという問題である。ペイントアルゴリズムとしては、「scanline seedfill」(→http://www2.starcat.ne.jp/~fussy/algo/algo3-1.htm)が有名だが、その根底には、この問題で見たように再帰→非再帰に変換したあと、値(seed)のpushを出来るだけ減らそうという発想のもとに考案されている。


そこで、今回は再帰版と非再帰版とを書かせるという、ちょっと意地悪な出題の仕方をした。再帰版はたいていの人が書けていたが、非再帰は半数ぐらいの人しか書けていなかった。それも、私が求めている答えを書いてきている人は全体の2割以下という低い数字だった。書けなかった人は、解説を読みながら、自分に何が足りないのかを考えてみて欲しい。


※ ところで「再帰」を「再起」とする誤字が目立った。日ごろ再帰を使っていないのだろう。

続きを読む