Responsive image

问题 J: 寻宝

问题 J: 寻宝

时间限制: 1 Sec  内存限制: 128 MB
提交: 0  解决: 1
[提交][状态][讨论版][命题人:]

题目描述

小平正在玩一个寻宝游戏。寻宝游戏在一个方格图上进行。方格图中的每一个格子都有一个坐标 (r, c),其中越往北 r 越小,越往南 r 越大,越往东 c 越大,越往西 c 越小。南北相邻方格的 c 坐标相同,r 坐标差一。东西相邻方格的 r 坐标相同, c 坐标差一。

游戏开始时,小平站在 (0, 0) 处,面向北边。游戏区域无限大,且没有障碍。每一步,小平控制自己的角色走一步,他可以有如下三种选择:

  • 向前走:朝现在的方向前进到相邻的方格中,并保持当前的方向。
  • 向左走:向左转90度,并前进到相邻的方格中(即进入到原来左边的方格),面向的方向变为了原来的左边。
  • 向右走:向右转90度,并前进到相邻的方格中(即进入到原来右边的方格),面向的方向变为了原来的右边。

小平玩了一会儿,一共走了 n 步,他记录了自己的每一个动作。但是他没有找到宝藏。他怀疑前面的某一步出现了失误。他想知道,如果他改变之前的某一步,能到的位置有哪些。由于这个太复杂,他想知道最终到的位置(第 n 步后到的位置)有多少种。

输入描述

输入的第一行包含一个整数 n ,表示小蓝走了 n 步。

第二行包含一个长度为 n 的由大写字母组成的字符串,依次表示小蓝走的每一步。字母 F 、 L 、 R 分别表示对应的步是向前走、向左走、向右走。

输出描述

输出一行,包含一个整数,表示如果改变某一步,可以到的位置的种类数。

样例输入

3
FLR

样例输出

6
[提交][状态]
ACM算法攻关部