松江Ruby会議のプロコンで負けた

これが自分の結果(以下にコードのみ原文まま)。再起で関数呼び出してるところが他の人と大きく異なる点だけど、解き方自体はあまり他の人と変わらなかったなぁ。0.09秒を切ってみたかったけど、それはあたわず...

def f(a,r=[*a])
 s=r.shift
 x=s.reverse
 r.delete_at(r.rindex(x)||999) ? (s+f(a,r)+x) : (s==x ? s : (r[0] ? f(a,r) : ""))
end
puts f(readlines[1..-1].map!(&:chomp!).sort!)

しかしスタッフ容赦なかった。ルール的には問題ないけど。

# ところで今更気付いたけど結果ページに松江テルサ別館ってラボの事な気がするのであった...しまった...orz