GCJ Japan 2011 予選

参加しました。夕方までバイトしてたので空き時間に問題だけ見て,終わってからコード書きました。

A は,カットの回数が少ないのでシミュレーションでできるんだろうと思ったらできました。けどちょっとめんどくさかったです。こういう手続きを書くのは苦手なので,まず紙に擬似コード書いてからと思ったんですが,紙にうっかり OCaml のコードを書いてしまったので OCaml で実装することになりました。space separated list of integers な入力の読み方がしばらくわからなくて困りました。

B は問題文全体の雰囲気から DP かなあと思ったけど実際に問題文読んでみたらそうでもない感じで,じゃあなんとなく LP だろうかと思ったりしつつ放置しました。他の問題を解いた後でよく考えてみたら貪欲でできるみたいです。日付の後ろのほうから満足度が大きいものを取っていきます。実装終わらなかったのですけど,たぶん。

C は少し考えてもよくわからなかったので,これはたぶん人の手ではなく宇宙の神秘により解けるんだろうと予想して,とりあえず bruteforce しました。そうするとやっぱり規則性がありそうなので,たぶんそういうことなんだろうと思って submit したら通りました。