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