Отыскал своё решение задачки с
Perl golf 2009...
#!perl
sub r{substr$f[$y],$x,1}sub u{substr$f[$y],$x,1,"@_"}sub f{local($x,$y)=@_;if(r=~/x|o/){push@p,[$x,$y];u"-";f($x+1,$y)+f($x-1,$y)+f($x,$y+1)+f($x,$y-1)}}sub g{/h/?$x--:/l/?$x++:/k/?$y--:$y++;@p=([$x,$y],@p);r!~/1/&&pop@p;u"-"}@f=<>;@c=split//,pop@f;for(pop@c;($x=index$f[++$y],'x')<0;){}f$x,$y
(
Read more... )