P2206 [USACO13OPEN] Bovine Ballet B
题目背景
Bessie 成为了一名芭蕾舞演员。
题目描述
她的期末汇报演出就在下周,于是 Farmer John 就帮她建一个长方形的舞台。
为了防止 Bessie 从舞台边缘掉下,FJ 决定要建一个足够大的舞台。
Bessie 的舞蹈将会占用一个由许多 $1 \times 1$ 的正方形方块组成的长方形的区域。为了方便,我们把 Bessie 的四只脚按如下方式简写:
- `FR`:前右脚(Front right hoof)
- `FL`:前左脚(Front left hoof)
- `RR`:后右脚(Rear right hoof)
- `RL`:后左脚(Rear left hoof)
Bessie 将会从一个如下的四个相邻的格子出发,同时她会面向北方。
```plain
FL FR
RL RR
```
Bessie 的舞蹈会依据总数为 $N\ (1 \le N \le 1000)$ 的指令进行。每一条指令都指示 Bessie 将一只脚移动一个格子,或者顺时针旋转 $90^\circ$。
其中,移动的指示由三个字符组成,其中前两个是脚的代号,最后一个代表脚移动的方向:
- `F`:向前
- `B`:向后
- `R`:向右
- `L`:向左
比如说,`FRF` 代表着 Bessie 的前右脚向前移动一个格子,`RLR` 代表她的后左脚将向右移一个格子。
当然,我们这里说的方向是以 Bessie 正面对的方向决定的。
另一方面,旋转的指令也是 $3$ 个字符,其中前两个字母也是脚的代号,代表着旋转的支点。最后一个字母总是为 `P`(pivot)。
比如说,`FRP` 代表着 Bessie 将以前右脚为支点,顺时针旋转 $90^\circ$。
如果我们从图中看,假设现在 Bessie 的脚是这样的,她正朝向北方:
```plain
.. .. ..
.. .. FR
.. FL ..
.. RL RR
```
那么在进行指令 `FRP` 之后,她的脚的位置将变成下面这样,同时她将会朝向东方:
```plain
RL FL ..
RR .. FR
.. .. ..
.. .. ..
```
现在已知 $N$ 条 Bessie 的舞蹈的指令,请你计算她的整个舞蹈所需要的最小的长方形舞台,使得 Bessie 的脚不会落到舞台之外。
如果无论怎么样,她都会使自己的两个脚移动到相同的格子里,那么她就会被绊倒,并搞砸这次表演。
在这样的情况下,请输出 $-1$。
不过这是 Bessie 会被绊倒的唯一的原因,因为她在经过练习之后,身体十分的柔软,可以轻松的做到任何奇怪的动作(比如说把后脚伸到前脚的前面)。
输入格式
第一行一个整数 $N$。
下面 $N$ 行,每行 $3$ 个大写字母,表示一个指令。
输出格式
一行,输出舞台的最小面积。
说明/提示
样例解释:
Bessie 的舞蹈需要至少 $4 \times 4$ 的舞台,并将会按下图进行:
```plain
.. .. .. ..
.. .. .. ..
.. .. FL FR
.. .. RL RR
[Face north]
```
`FRF` 之后:
```plain
.. .. .. ..
.. .. .. FR
.. .. FL ..
.. .. RL RR
[Face north]
```
`FRP` 之后:
```plain
.. RL FL ..
.. RR .. FR
.. .. .. ..
.. .. .. ..
[Face east]
```
`RLB` 之后:
```plain
RL .. FL ..
.. RR .. FR
.. .. .. ..
.. .. .. ..
[Face west]
```