cubic_japh.pl 861 B

12345678910111213141516171819202122
  1. +($\,$})=($/,q$@$);@@=split$!=>($@
  2. =$}|'/'=>$:=$@,++$@,$@++,$~=(++$@=>
  3. ++$@),$.=$",$_=$/|$}.(+(++$@=>++$@).
  4. $~).++$~.$..($;=$}|'!').($^='.'|$}).+
  5. ('/'|$}).$~.($@=$}|'(').($"='%'|$}).(+
  6. +++$:=>++$:,+++$:).$..($:^'"').$".$:.(q
  7. },}|$}).$..$@.$;.($}.$}|'#+').$".$:.q|,|
  8. );sub f{print@_}sub i(_){my($l,$j)=0;my(
  9. $x,$y,$z,$c,$h,$v,$d,$s,$p,$o)=(+@{+pop}
  10. ,qw w+ -w,qw\| /\,sub{$j=$_[0];$l+$j>+@@
  11. &&($l=$?);@@[do{$l=$j+$l;$l-$j..$l-1}]},
  12. $?);f$.x($z+1),$c,$h x$x,$c;f$.x($z-$_+1
  13. ),$d,$s->($x),$d,$s->($_-1-$p),$_>$y?!$p
  14. &&++$p?do{$o=$z-$y;$c}:$p++?$d:$c:$v for
  15. 1..$z;f$c,$h x$x,$c,$p?($s->($z-$o),$d):
  16. ($s->($z),$z<$y?$v:$c);f$v,$s->($x),$v,
  17. ,$z-1>=$y?$_>=$z?($s->($x),$c):($s->($
  18. z-$_-$o),$d):$y-$_>$z?($s->($z),$v):(
  19. $s->($y-$_),$y-$_==$z?$c:$d)for+1..$
  20. y;f$c,$h x$x,$c}+i,,for[24,24,24],[
  21. 1,24,0],[24,1,0],[1,0,24],[24,3,1]