Google Code Jam Round 1C
オワタ\(^o^)/だが悔いは無いと思う。
A-small/largeを解いたのはいいんだけど、A-smallで問題読み間違えてて"1111111"の解釈をミスったせいで2回再試行したのが響いた。Cももうちょっと時間があれば解けたんだけど、1000番入る条件がA-small/largeとC-smallを解くのが最低条件なので、それでも入れたかどうか怪しい。
今回学んだポイント
- 無駄が多い。ファイルの読み書きとか定型になってるとこで時間を食いすぎ。今回ある程度テンプレができたので次回は流用しよう
- 再帰/順列生成にミスるので勉強しろ(前回→今回で復習してない)
- なんかWindowsの(Gじゃない)Vim、インデントが8になったりしておかしいんだけど・・
- 紙とペンを用意して、sampleがどういう動きをして解を出してるのか辿る必要があると思うけど・・頭いい人はそんなのも必要ないのかなぁ
- 問題によってスコアが違うので、スコアと問題を見比べて解く
- smallとlargeで難易度変わる・・と思ったらsmall用に作ったコードでもすんなり動くことが結構ある
- 小さく機能つくって纏める
- pythonのリスト、渡した先の関数で書き換えると元のリストが書き換えられる。要は参照渡しっぽいことをそのまましてるので再帰で使うにはちょっと不便
>>> l = [] >>> def func(l): ... l.append('a') ... >>> l [] >>> func(l) >>> l ['a'] >>>