Google Code Jam, Round1A

今日の10:00-12:00でした。朝からがりがりコーディングなんてあまりやることじゃないので、つかれた。さすがに前回のQualification Roundよりは難しくなってるみたいです。

Round1は3つのサブラウンドに分かれていて(Round1A-1C)、それぞれ上位840人が次に進めます。結果は200位だったので通過しているはず。これで来週も楽しめる。

んー、コンテストに時間制限があると経験不足が出るね。前回はほぼ時間無制限のようなものだったからリラックスしてのんびり書けたけど、時間のプレッシャーがかかると、よくありがちなちょっとしたミスでどんどん時間が過ぎていく。タイピングミスも多いよ。

今回はテキストエディタではなくEclipse上でプログラム書いたおかげで、ミスしてたときのデバッグがずいぶん楽になりました。勢いよく書いてるときたまに一瞬固まる(GC?)のがちょっとやだけど。


簡単に問題ごとに感想を。

A Minimum Scalar Product
アルゴリズム自体はごく簡単なので油断してたら、intがオーバーフローしてたせいでlarge setの解答を間違えるというへまをやらかしてしまった。これはへこむ。経験の差だね。一度やったら次はもうやらないだろう。それなりに上位の人でも同じミスをやってる人がいたのがちょっと慰め。
B Milkshakes
解き方自体は数分で考えついたけれど、その頭の中にあるアルゴリズムをプログラムに落とすのに苦しんだ。ちょこちょこミスもあって、3度もincorrectを喰らってしまった。そのたびに修正してたら3問の中で一番汚いプログラムになってしまったけれど、3問の中でこれだけlarge set正解。
C Numbers
演算精度か…。small setを解くことだけ目指して、計算時間無視で泥臭く書きました。ものすごく精度を気にしなきゃいけない問題なのに、うかつにdoubleを使ってたせいで誤差が出ててしばし無駄に悩む。これもイージーミスだー。しかしlarge setの計算が時間内で終わるためには全然別の方法をとらないといけないんだろう。ちょっと上位者の解答見てみようかな。