Over print

Over print 終了。

JavaScript

xulapp さんの解

for(a=[];s=readline();print(a.join('')))for(i in s)a[i]=a[i-s[i]]||s[i]

a[i-s[i]]

の部分がみごと。i は数値とすると、

i - ' '     ==> i
i - 'a'     ==> NaN

なので、a[NaN] は undefined となり、結局、s[i] がスペースなら a[i]、そうでなければ、s[i] となり Over print がうまくいくというもの。みごと。

C

C は 72B で同率 2位だった。この解の面白いところは、

32/c**p?:c

の部分。c がスペースだと 32/c は 1 となり *p を 1 倍するので、*p 自身となり、?: 演算子は *p を値とする。c がスペース以外の時は、32/c は 0 となり、?: 演算子の結果の値は、c となる。

〜〜〜
最近、ちょっとまともでない問題が多い。出題者は自分で解いて verify せよ!と言いたい。