#D0639. [DAY16]无限循环的机器人

[DAY16]无限循环的机器人

题目描述

33DAI 最新研发了一款全天候快递机器人。这款机器人工作在一个无限大的二维笛卡尔坐标平面上,其起点位于原点 (0, 0)

机器人的行动模式由一个指令字符串 SS 决定,该字符串仅包含 'U' (向上, y+=1), 'D' (向下, y-=1), 'L' (向左, x-=1), 'R' (向右, x+=1) 四种字符。机器人会严格按照指令字符串 SS 从头到尾执行指令,完成一轮后,又会立即从头开始,无限循环下去。

例如,如果指令 SS"RU",机器人的移动轨迹将是:(0,0) -> (1,0) -> (1,1) -> (2,1) -> (2,2) -> ...

现在,33DAI 给定了一个目标地点 (tx, ty),他想知道机器人第一次到达该地点需要执行多少步指令。如果机器人永远也无法到达目标地点,请告诉他。

输入格式

第一行包含一个字符串 S,表示机器人的指令序列。

第二行包含两个整数 txty,表示目标地点的坐标。

输出格式

输出一个整数。如果机器人能够到达 (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)

数据规模与约定

对于 100%100\% 的数据,1S21051 \le |S| \le 2 \cdot 10^5109tx,ty109-10^9 \le tx, ty \le 10^9

  • 子任务 1(30 分):1S1001 \le |S| \le 100100tx,ty100-100 \le tx, ty \le 100
  • 子任务 2(30 分):保证机器人在执行完一轮指令 S 后会回到原点 (0,0)
  • 子任务 3(40 分):没有特殊限制。