CF321A Ciel and Robot
题目描述
Fox Ciel 有一个机器人,位于二维平面上。最初,机器人位于 $(0,0)$。Fox Ciel 为它编写了一条指令,该指令用字符串 $s$ 表示。$s$ 中的每个字符都代表一次移动操作。共有四种操作:
- 'U':向上移动,$(x, y) \to (x, y+1)$;
- 'D':向下移动,$(x, y) \to (x, y-1)$;
- 'L':向左移动,$(x, y) \to (x-1, y)$;
- 'R':向右移动,$(x, y) \to (x+1, y)$。
机器人会从左到右依次执行字符串 $s$ 中的所有操作,然后无限循环地重复执行这串指令。请你帮助 Fox Ciel 判断,机器人有没有可能经过若干步之后到达位置 $(a, b)$。
输入格式
第一行包含两个整数 $a$ 和 $b$,$-10^{9} \leq a, b \leq 10^{9}$。
第二行包含一个字符串 $s$,$1 \leq |s| \leq 100$,$s$ 仅由大写字母 'U'、'D'、'L'、'R' 组成,表示移动指令。
输出格式
如果机器人可能在某一步到达 $(a, b)$,输出 "Yes";否则输出 "No"。
说明/提示
在前两个测试用例中,指令串为 "RU",因此机器人会先向右移动一步,再向上移动一步,如此循环。
移动的经过位置依次为 $(0, 0) \to (1, 0) \to (1, 1) \to (2, 1) \to (2, 2) \to \cdots$。
因此,机器人能够到达 $(2, 2)$,但无法到达 $(1, 2)$。
由 ChatGPT 5 翻译