Google Code Jam Round2 通過しました

1817人中1000人通過の所、839位(25点、2:11:45)で通過しました。
開始前は「Small問題(しかもC問題D問題あたり)だけ解いてポイント稼ごう」という作戦だったんですが、Small問題の配点が激減していて焦ってしまいました。SmallとLargeで難易度が大きく異なっていたんで、妥当なところでしょう。

A. Cheating a Boolean Tree

最初問題を読んだときには面倒くさそうだったので飛ばしていたのですが、Small問題の正解率がとても良かった(90%を超えていた)のでD-SmallをSubmitした後に着手。再帰で解けば良い(というかそれ以外思いつかなかった)問題で、Small、Large共に正解。

B. Triangle Areas

Smallは簡単そうかなと思って真っ先に着手したのですが、forループで悪い条件を作ってしまっていてなかなか解けませんでした。一端D問題を解いて、Aを解いて、最後にBに戻って来たのですが、最後の最後(1:59:45)まで投稿できていませんでした。これを解けていなければ1000位以下になっていたので、本当ギリギリでした。
Largeはどうやって解くんだろ。

C. Star Wars

正解率が低かったので着手せず。問題を見直してみたのですが、確かに着手しなくて正解だったかも。
どうしても解けと言われたら、Smallに関しては焼き鈍し法かなあ(6桁の精度が出せるか否か自信ないけど)。

D. PermRLE

愚直にやればSmallは解けるな、と考えて、真っ先に手をつけました。
Largeはどうやるんだ?

反省

これが今の精一杯かな? という感じです。
制限時間がこれ以上増えても、C、B-Large、D-Largeは解けてなかったような気がする(B-Largeは「この方法なら行けるかも」という案があるので、後日検証してみる予定)。
次は1000人中500人が通過するんですが、今回の500位の人は25点(1:30:45)なので、狙えなくはないという感触です。
もし次に500位以内に入るとアジア太平洋地域のオンサイトで競技なので、そこを不戦敗で終わりかな(多分会場は中国だろうから月曜火曜を休まないといけないけど、プロジェクトがバタバタしてて会社を休めそうにない)。
まあ、がんばれるだけがんばってみます。

あ、例のPostScriptの変態さんは落ちちゃったみたい。