# D - Gathering Children (opens new window)
# 概要
L
とR
のみで構成された文字列が左から順にマスだけ書かれている- 各マスには1人の子供がいる
- 以下の操作を回行った時に, 各マスにいる子供の人数を求めよ
- 子供は, いるマスが
L
なら左のマスに,R
なら右のマスに移動する
- 子供は, いるマスが
# 思考
- 「回の操作」と書かれていたので, 最終状態が存在することがわかる
- ここでは, 最終状態をオートマトンのループする部分とする
LR
で移動するので, 偶奇で2つの状態が変化しそう- 偶奇で判断すれば良さそう!
- 最終的に固まる場所は, R...RL...Lの時のRの右端とLの左端
- 実装
- 入力例3が通らない
ここで30分終了, 時間をあけて1からマクロなしで書き直す
- 書き直しても入力例3が通らない
- 各状態を出力してデバッグする
- 最終的に固まる場所によって, 最終状態に入るまでに必要な操作回数が変わることに気づく
- 実装に反映して提出
- AC!
# 提出
# 気づいたこと
- マクロなしの方が合っているかもしれない
- 時間はかかるがコードが読みやすくなる
- 綺麗に書こうとする(ホントか?)
- debug用のマクロはあった方が良さそう