SRM 353

Petr と同じ部屋でガクブル。

250

がんばるだけ。余談だが、C# の String は標準の CompareTo で case ignore な順序になる。知らなかった・・・。以前はまったのはそれが原因か。「ふつうに」char でソートしたいときは、比較関数として String.CompareOrginal を第2引数に渡すだけ。そんなこと知らなかったので ToUpper した配列を key にしてソートしたんですが(C# の Array.Srot は key と value を渡せる!)、ここで Array.ConvertAll(ss, String.ToUpper) とか書きたいですよね。こういうところ OO 言語由来の言語が関数型的要素を入れたときのキモさがあらわれている気がする。

500

horizontal な速度が const とあったので、初速からかえられないのかと思って解いて、そのあと結局解きなおした。最初は厳密解を求めないとダメ系問題と思って、rational を引っ張り出したのだが(選んだ初速で完全に一致しないと到達できない)、計算すると rational 使うまでもなく、何の問題なのかと思った。いつも通り DP かよ。TopCoder ってダイナミック計画法(使ってみた)多いよなぁと思う。問題を作りやすいからとは思うけど。

1000

高校生くらいのとき、これの solver 作ろうとして破綻したなぁ。結局、時間足りず。BFS か A* かと思うが、解なしの場合もあるのだから DFS でもいいのか?

Challenge

開始 1 秒で、1000 点解いた blue coder が challenge されてた。やはり Petr だった・・・。500 のサンプルがものすごくへこいので、ミスってるひといるだろうと思ったら、案の定 2 人ほど間違い見つけたものの、入力作ってる間に他の人に先を越された。入力の練習もしないと・・・。

むー。なんか微妙な結果。