2007-03-22
■ [spoj] Hash it!
久々にSPOJ。
find/insert/deleteって書いてあるけどfindいらねーじゃん。とか思ってたらWA食らった。アホス。
Haskellでもやってみたいのだけど、「見つかるまで最大20回探索する」というのをどう書くのがいいのか分からん。 回数を引数に再帰する、とかはなんか普通だしなぁ。きっと無限リストとリストモナドを使うと綺麗に書けるに違いない (根拠なし)。
■ [spoj] SPOJ Helper 0.0.1
SPOJ好きなRubistに贈る。面倒な「sample inputをダウンロードする手間」と「回答をアップロードする手間」を全自動で省いてくれます。
rubyとhpricotとmechanizeが必要。
gem install hpricot gem install mechanize
使い方
spoj play HASHIT
→ hashit.rb, in_hashit, out_hashitが生成される
spoj test HASHIT
→ hashit.rb < in_hashitを実行して、out_hashitと等しいかを調べる。
spoj submit HASHIT
→ hashit.rbをsubmitする。
という3つのコマンドがあるのですが、submitは基本的に使いません。 testが通ったら「submit now?[y/n]」と聞くようになっているので。
そろそろ多言語(Haskellとか)にも対応したいなぁ。