12345678910111213141516171819202122 |
- +($\,$})=($/,q$@$);@@=split$!=>($@
- =$}|'/'=>$:=$@,++$@,$@++,$~=(++$@=>
- ++$@),$.=$",$_=$/|$}.(+(++$@=>++$@).
- $~).++$~.$..($;=$}|'!').($^='.'|$}).+
- ('/'|$}).$~.($@=$}|'(').($"='%'|$}).(+
- +++$:=>++$:,+++$:).$..($:^'"').$".$:.(q
- },}|$}).$..$@.$;.($}.$}|'#+').$".$:.q|,|
- );sub f{print@_}sub i(_){my($l,$j)=0;my(
- $x,$y,$z,$c,$h,$v,$d,$s,$p,$o)=(+@{+pop}
- ,qw w+ -w,qw\| /\,sub{$j=$_[0];$l+$j>+@@
- &&($l=$?);@@[do{$l=$j+$l;$l-$j..$l-1}]},
- $?);f$.x($z+1),$c,$h x$x,$c;f$.x($z-$_+1
- ),$d,$s->($x),$d,$s->($_-1-$p),$_>$y?!$p
- &&++$p?do{$o=$z-$y;$c}:$p++?$d:$c:$v for
- 1..$z;f$c,$h x$x,$c,$p?($s->($z-$o),$d):
- ($s->($z),$z<$y?$v:$c);f$v,$s->($x),$v,
- ,$z-1>=$y?$_>=$z?($s->($x),$c):($s->($
- z-$_-$o),$d):$y-$_>$z?($s->($z),$v):(
- $s->($y-$_),$y-$_==$z?$c:$d)for+1..$
- y;f$c,$h x$x,$c}+i,,for[24,24,24],[
- 1,24,0],[24,1,0],[1,0,24],[24,3,1]
|