2010年1月29日金曜日

Anarchy golf - repeat line

repeat line が、open。
perl で大幅に負けた。

自分の解答は

print(($_=<>)x~-length)


1位の解答は

s/./print/gefor<>


あまりにも違うので、あまり比べようがない。
以下気づいた点
・入力が一回しかないのに for 文を回している。
・s のオプションの ge と for の間にスペースがないのにちゃんと parse されている。
・$_ に変数を入れれば、print だけで、出力できる。
・s の e オプションは置換が起こった各パーツに対して、評価が起こる?

こんなんで 6人も1位が並ぶ意味が分からん。

PHP も少し負けた。

自分の解答は

<?=str_repeat($i=fgets(STDIN),strlen($i)-1);


1位の解答は

<?for($a=fgets(STDIN);$a[++$i];)echo$a;


未定義の変数がundef(==0)で初期化されるという仕様を押さえておけば
多分思いついたと思う・・・

短いながら、意外と解答が収束しない良い問題だったと思うので、本当はもう少しいろんな言語で解きたかった・・・

0 件のコメント:

コメントを投稿