2010-05-22 [長年日記]
λ. Google Code Jam 2010 Round 1A
Aでしょうもないバグで悩んで時間がなくなり、結局Aしか解けなかった orz せめて、あとBのsmallくらいは解きたかったなぁ。1B,1Cで再挑戦か……
A. Rotate
単に言われている通りに書けば良いだけなのだけど、すべての直線の列挙をもれなく列挙する部分にバグを入れてしまって、随分と時間を食ってしまった。A.hs
B. Make it Smooth
どうやって解いたら良いか、全く思いつかなかったんだけど、後でku-ma-meさんに話したら、あっさり方針をたててくれたので、それに従って解いてみた(B.hs)。 これは私には時間内に解ける気がしないなぁ。
最初、B-small-practice.in は解けたと思ったら、B-large-practice.in では incorrect になり、どこを間違ったんだろうと随分悩んでしまった。 何故か、i≧mだったら挿入を利用しても意味がないと思い込んでいたのが原因だったので、修正 (上のコードは修正済み)。
C. Number Game
後で解く。
λ. Real World Haskell読書会 2010-05
今月は12章バーコード認識の続きっぽい。先月は、CLTT読書会第一回と重なっていてそっちに行ってしまったので、RWH読書会は久しぶり。
λ. Google Code Jam 2010 Round 1B
Bで悩んでしまい、またもやAしか解けなかった orz 残すは1Cのみ……
A. File Fix-it
何も考えずに、STモナドで命令的に書いた。 A.hs
B. Picking Up Chicks
後で解く。
C. Your Rank is Pure
本番中は難しそうだなと思って手をつけていなかったけれど、後からPracticeで解いてみたら、案外簡単だった。C.hs
smallは普通にDPで解けて、largeは組み合わせの計算をメモ化したら、時間内に解けた。 けど、100003のモジュロというので安心して32bit整数で計算してたら、乗算で32bitの範囲を超えるケースがあるのを見落としていて、一回Incorrectになってしまった。