AT_abc219_f [ABC219F] Cleaning Robot
题目描述
# [ABC219F] 清扫机器人
## **问题描述**
一个清扫机器人被放置在无限扩展的二维网格的方格 $(0, 0)$ 上。
给定了一个由四种类型的字符 `L`、`R`、`U`、`D` 组成的字符串程序。
机器人根据给定的程序,依次读取每个字符,并针对每个字符采取以下行动:
1. 将机器人的当前位置设为方格 $(x, y)$
2. 根据读取的字符执行以下移动:
- 当读取 `L` 时:向左移动到方格 $(x-1, y)$。
- 当读取 `R` 时:向右移动到方格 $(x+1, y)$。
- 当读取 `U` 时:向上移动到方格 $(x, y-1)$。
- 当读取 `D` 时:向下移动到方格 $(x, y+1)$。
给定一个由 `L`、`R`、`U`、`D` 组成的字符串 $S$ 和整数 $K$。机器人执行的程序是将字符串 $S$ 重复连接 $K$ 次。
一旦机器人访问过的方格(包括机器人的初始位置 $(0, 0)$)就会被清扫。
请输出在机器人执行程序结束后,被清扫的方格的数量。
输入格式
输入通过标准输入给出。
> $S$ $K$
输出格式
输出在机器人执行程序结束后,被清扫的方格的数量。
## **样例 #1**
**样例输入 #1**
```
RDRUL
2
```
**样例输出 #1**
```
7
```
**样例 #2**
**样例输入 #2**
```
LR
1000000000000
```
**样例输出 #2**
```
2
```
**样例 #3**
**样例输入 #3**
```
UUURRDDDRRRUUUURDLLUURRRDDDDDDLLLLLLU
31415926535
```
**样例输出 #3**
```
219911485785
```
## 约束
- $S$是长度介于$1$和$2 \times 10^5$之间(包括$1$和$2 \times 10^5$)的字符串,由“l”、“R”、“u”和“d”组成。
- $1 \leq K \leq 10^{12}$
### 示例输出1
机器人将执行程序“rdrulrdrul”。它将从$(0, 0)$开始,按如下方式运行:
$(0, 0) \rightarrow (1, 0) \rightarrow (1, 1) \rightarrow (2, 1) \rightarrow (2, 0) \rightarrow (1, 0) \rightarrow (2, 0) \rightarrow (2, 1) \rightarrow (3, 1) \rightarrow (3, 0) \rightarrow (2, 0)$.
最后,七个方块将被清理:$(0, 0), (1, 0), (1, 1), (2, 0), (2, 1), (3, 0), (3, 1)$。
说明/提示
### 制約
- $ S $ は `L` 、`R` 、`U` 、`D` からなる長さ $ 1 $ 以上 $ 2\ \times\ 10^5 $ 以下の文字列
- $ 1\ \leq\ K\ \leq\ 10^{12} $
### Sample Explanation 1
ロボットが実行するプログラムは `RDRULRDRUL` です。ロボットは初期位置であるマス $ (0,\ 0) $ からはじめ、 $ (0,\ 0)\ \rightarrow\ (1,\ 0)\ \rightarrow\ (1,\ 1)\ \rightarrow\ (2,\ 1)\ \rightarrow\ (2,\ 0)\ \rightarrow\ (1,\ 0)\ \rightarrow\ (2,\ 0)\ \rightarrow\ (2,\ 1)\ \rightarrow\ (3,\ 1)\ \rightarrow\ (3,\ 0)\ \rightarrow\ (2,\ 0) $ と移動します。 その後掃除されているマスは、$ (0,\ 0),\ (1,\ 0),\ (1,\ 1),\ (2,\ 0),\ (2,\ 1),\ (3,\ 0),\ (3,\ 1) $ の $ 7 $ 個です。