2009-09-13

[]Google Code Jam 2009 Round1C 23:45 はてなブックマーク - Google Code Jam 2009 Round1C - TopCoderの学習のお時間

1Cもやったよ。

3つのサブラウンド中では明らかに一番簡単でした。

ID タイトル 時間 感想
A All Your Base 9min 整数
greedyに上の桁から順に決めていく
B Center of Mass 25min 幾何(というほどのこともない)。
式を立てると時間に関する二次関数なのであとは高校1年生の数学
C Bribe the Prisoners 25min メモ化再帰
調べる範囲の両端位置をメモ化のキーにする。smallだけ通すのならnext_permutation全探索でもOK。
やっとsmallとlargeに大きな違いのある問題が来た。
largeの解答でsmallの出力を提出してincorrect喰らうというミスをしちゃった。本番じゃなくて良かった

[]Google Code Jam 2009 Round1B 16:04 はてなブックマーク - Google Code Jam 2009 Round1B - TopCoderの学習のお時間

Round1は通過済みだけど試しにやってみた。

ID タイトル 時間 感想
A Decision Tree 60min 構文解析。やるだけ。
パースを全部java.util.Scannerでやってたら、デリミタの設定がうまくいかず大はまり。
最終的に、ツリーを構成する文字列を全部連結して'('と')'の前後にスペースを挿入してから
Scannerに読ませてパースするという方法に。これはひどい
B The Next Number 20min next_permutation。
100のようなケースで0を特別扱いするのをやっておらずWA*1。
答えが最大でもlongに収まる気がしていたので、オーバーフローでlargeがincorrectになってしまった。
BigIntegerに置き換えるのはすぐなんだから提出前に確認くらいすべきである。いやこれはひどい
C Square Math - 実装めんどそうだったのでやってない。
適当にBFSすればsmallはまず通ると思う。largeはどうだろう?

通過ライン高いなぁ。この回だと通過できてなかったかも…