#D0639. [DAY16]无限循环的机器人
[DAY16]无限循环的机器人
题目描述
33DAI 最新研发了一款全天候快递机器人。这款机器人工作在一个无限大的二维笛卡尔坐标平面上,其起点位于原点 (0, 0)
。
机器人的行动模式由一个指令字符串 决定,该字符串仅包含 'U' (向上, y+=1
), 'D' (向下, y-=1
), 'L' (向左, x-=1
), 'R' (向右, x+=1
) 四种字符。机器人会严格按照指令字符串 从头到尾执行指令,完成一轮后,又会立即从头开始,无限循环下去。
例如,如果指令 为 "RU"
,机器人的移动轨迹将是:(0,0) -> (1,0) -> (1,1) -> (2,1) -> (2,2) -> ...
现在,33DAI 给定了一个目标地点 (tx, ty)
,他想知道机器人第一次到达该地点需要执行多少步指令。如果机器人永远也无法到达目标地点,请告诉他。
输入格式
第一行包含一个字符串 S
,表示机器人的指令序列。
第二行包含两个整数 tx
和 ty
,表示目标地点的坐标。
输出格式
输出一个整数。如果机器人能够到达 (tx, ty)
,输出它第一次到达时所需的最少指令步数。如果永远无法到达,则输出 -1
。
RU
3 3
6
指令 S
为 "RU",长度为 2。
- 第 1 轮 (1-2 步):
(0,0) -> R -> (1,0) -> U -> (1,1)
- 第 2 轮 (3-4 步):
(1,1) -> R -> (2,1) -> U -> (2,2)
- 第 3 轮 (5-6 步):
(2,2) -> R -> (3,2) -> U -> (3,3)
在第 6 步执行完毕后,机器人第一次到达 (3,3)
。
U
1 0
-1
机器人只会向上移动,其 x 坐标永远是 0,因此永远无法到达 (1,0)
。
LURD
-1 -1
-1
机器人执行一轮 "LURD" 后会回到原点 (0,0)
。它的轨迹被限制在有限的几个点上,永远无法到达 (-1, -1)
。
数据规模与约定
对于 的数据,,。
- 子任务 1(30 分):,。
- 子任务 2(30 分):保证机器人在执行完一轮指令
S
后会回到原点(0,0)
。 - 子任务 3(40 分):没有特殊限制。