SRM405 DIV2

DIV1に昇格。

Score: 509.54
Div. place: 157
Room place: 3
220.60/250
250.08/500
0/1000
Challenge: 1/1
Rating: 1195->1217

250 FallingFactorialPower
問題文の通りに書くだけ。

500 RelativePath
currentDir からディレクトリを上に進めて行き、pathと前半部が一致したらbreakして、pathの後半部をaddすればいい。テストケースが通るプログラムは比較的速く作れたが、pathが"/ab"でcurrentDirが"/a/b"のようにディレクトリ名が途中まで一致する場合に間違った結果を返していたので、その原因をさぐり、正しい結果を返すように修正を加えるのに少し時間がかかった。結構間違えている方が多かったようだ。

1000 IdealString
問題文をちゃんと読まなかったために、lengthが7=1+2+4の場合のような、数が飛ぶ場合を想定していないプログラムを書いてしまった。終了間際に、初めにバックトラックで使う数を決めて、それを基に文字列を生成すればいいのでは、と思ったが時間切れ。