AtCoder Beginner Contest 291 C問題 LRUD Instructions 2
問題
提出解答
問題の概要
二次元座標上に点 がある. 最初, は原点にいる.
この は 回の移動をした. この移動は長さ の文字列で表され, 次のような意味である.
- 回目の移動後の座標は, 移動前の座標を として,
- の 文字目が のときは
- の 文字目が のときは
- の 文字目が のときは
- の 文字目が のときは
始点と終点を含む 回の移動において, 点 が同じ座標にいたことがあるかどうかを判定しろ.
制約
- .
- は からなる長さ の文字列.
解法
に対して, 回目の移動終了後の点 の座標を とする.
このとき, 重複判定を愚直に行うと, 時間かかってしまうが, 次のような工夫 (のうちの つ) を施すことにより, 時間や 時間にできる.
- を何かしらの全順序の観点で昇順に並べ, 隣接 項が一致しているところが存在するかどうかを判定する.
- 集合 の濃度が かどうか.