#3191. T2 机器人行走

T2 机器人行走

题目描述

一个机器人在无限大的网格上行走,初始站在坐标 (0,0)(0,0),面朝北(y 轴正方向)。

给你一串指令,指令只有三种字符:

  • F:向当前朝向前进一格;
  • L:原地左转 90°(不移动);
  • R:原地右转 90°(不移动)。

请你模拟整串指令,输出:机器人最终的坐标、最终的朝向、以及它经过过的不同格子数(起点也算)。

坐标约定:向东为 xx 正方向,向北为 yy 正方向;朝向用 N(北)、E(东)、S(南)、W(西)表示。

输入格式

一行一个字符串 ss,只含 F、L、R,长度不超过 10510^5。

输出格式

共三行:

  1. 两个整数 x yx\ y,表示最终坐标;
  2. 一个字符,表示最终朝向;
  3. 一个整数,表示经过过的不同格子数。

输入样例

FFRFF

输出样例

2 2
E
5

样例解释

(0,0)(0,0) 朝北 → F 走到 (0,1)(0,1) → F 走到 (0,2)(0,2) → R 转朝东 → F 走到 (1,2)(1,2) → F 走到 (2,2)(2,2)。

最终坐标 (2,2)(2,2),朝东 E;走过的格子为 (0,0),(0,1),(0,2),(1,2),(2,2)(0,0),(0,1),(0,2),(1,2),(2,2),共 5 个不同格子。

提示

朝向用数字表示最方便:0=北, 1=东, 2=南, 3=西,则左转 d = (d + 3) % 4,右转 d = (d + 1) % 4。