Eugene Ardarov пишет:
Соптимайзил до такого (-3 символа):
#!perl -naF
map{/[h-l]/?do{$;[$n]=o;p...@p,$n;$;[$p[++$t]]='-'if$;[$n+=$$_]!=1;$;[$n]=x}:do{$k-=...@f,$l=!$h--,$n=@;if/x/;$p[/o/]=@;;push@;,$...@f}{pop@;;print@

Правильный, но не короче:

#!perl -naF
map{/[h-l]/?do{$;[$n]=o;p...@p,$n;$;[$p[++$t]]='-'if$;[$n+=$$_]!=1;$;[$n]=x}:do{$k-=...@f,$l=!$h--,$n=@;if/x/;$p[/o/]=@;;@p>2||push@;,$...@f}{print@

С лёгким багом, но короче (151.604 strokes):
#!perl -naF
map{/[h-l]/?do{$;[$n]=o;p...@p,$n;$;[$p[++$t]]='-'if$;[$n+=$$_]!=1;$;[$n]=x}:do{$k-=...@f,$l=!$h--,$n=@;if/x/;$p[/o/]=@;;$t||push@;,$...@f}{print@
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить