■ [GCJ]Google Code Jam 2009 Round1C
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喰らうというミスをしちゃった。本番じゃなくて良かった |
■ [GCJ]Google Code Jam 2009 Round1B
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はどうだろう? |
通過ライン高いなぁ。この回だと通過できてなかったかも…