TopCoder SRM 534 Div2

oxx
991955
下がった。ワロス

250

Ellyはlsコマンドを作りたい。
ファイルの一覧は分かっているのだが、"."(カレントディレクトリ)と".."(1つ上のディレクトリ)の2つは、最後に表示させたい。
そのために、次の操作を行うことにした。

  1. "."と".."が最後の2つである場合、操作を終了する
  2. 最初から要素を見ていき、最初に出てきた"." or ".."を、最後の要素と入れ替える
  3. "."と".."が最後の2つである場合、操作を終了する
  4. 最初から要素を見ていき、最初に出てきた"." or ".."を、最後から2番目の要素と入れ替える

これらの操作が終わった時のリストを返せ。

最後のテストケースにさえ気をつければ大丈夫。

500

直線上の盤面があり、その上にはN個のマス目がある。
マス目にコマが乗っているかどうか、情報が与えられる。(1つのマスには最大でも1つしかコマは乗らない)
EllyとKrissはゲームをすることになった。以下のどちらかの操作を順番に行い、先に動けなくなったほうが負けである。

  • ステップ(右のマスが空いているとき、コマを1つ右に動かす)
  • ジャンプ(右の2つのマスがどちらも埋まっていて、3つ右のマスが空いているとき、3つ右にコマを動かす)

ただし、右端のマスに到達したコマは、すぐに消えて、その後のゲームには影響しない。
勝つのはどちらか。

-board will contain between 1 and 20 characters, inclusive.

マスの数が20以下ってことはGreedyじゃなくて探索だ!!!←致命的な間違い
(前回のSRMでGreedy解法が間違いだったために、Div1であえてDPで解いた人もいたらしいですが・・・)

メモ化再帰で書く→バグが出た→バグを取ろうとする→答えが合わないorz