机器人巡逻
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
T1. 机器人巡逻
| 属性 | 值 |
|---|---|
| 内存限制 | 256 MiB |
| 时间限制 | 1000 ms |
题目描述
在一个无限大的二维网格平面上,有一个巡逻机器人。机器人初始位置在坐标原点 ,面朝东方( 轴正方向)。
机器人接收一串指令字符串 ,每个字符代表一条指令:
F:向当前面朝的方向前进 个单位距离。L:向左(逆时针)旋转 。R:向右(顺时针)旋转 。
方向定义:
| 方向 | 面朝 | 坐标变化 |
|---|---|---|
| 东(East) | 轴正方向 | |
| 北(North) | 轴正方向 | |
| 西(West) | 轴负方向 | |
| 南(South) | 轴负方向 |
初始时机器人面朝东方。
请你依次执行指令串 中的每条指令,输出两个整数:
- 机器人最终到达的位置 ;
- 机器人在执行指令的整个过程中(包括初始位置 ),离原点的曼哈顿距离的最大值。
曼哈顿距离定义:点 到原点 的曼哈顿距离为 。
输入格式
输入共一行,一个只包含大写字母 F、L、R 的字符串 。
输出格式
输出共一行,三个整数 ,分别表示最终位置的横坐标、纵坐标、以及过程中离原点的最大曼哈顿距离。
样例
样例 #1
输入样例 t1.in
F
输出样例 t1.out
1 0 1
解释:初始在 ,面朝东,曼哈顿距离 。前进 步到达 ,曼哈顿距离 。最大值 。
样例 #2
输入样例
LFF
输出样例
0 2 2
解释:
| 步骤 | 指令 | 位置 | 面朝 | 曼哈顿距离 |
|---|---|---|---|---|
| 初始 | — | 东 | ||
| 1 | L |
北 | ||
| 2 | F |
|||
| 3 |
最终位置 ,最大曼哈顿距离 。
样例 #3
输入样例
FRFRF
输出样例
0 -1 2
解释:
| 步骤 | 指令 | 位置 | 面朝 | 曼哈顿距离 |
|---|---|---|---|---|
| 初始 | — | 东 | ||
| 1 | F |
|||
| 2 | R |
南 | ||
| 3 | F |
|||
| 4 | R |
西 | ||
| 5 | F |
最终位置 ,最大曼哈顿距离 。
样例 #4
输入样例
FFFFRFFFFLFFFF
输出样例
8 -4 12
解释:走"口"字型路线。先向东走 步至 ,右转向南走 步至 (最大曼哈顿距离 ),左转向东走 步至 (最大曼哈顿距离 )。
数据范围与提示
对于 的数据,。
对于 的数据,。
对于 的数据,。