CF405B Domino Effect
题目描述
小克里斯认为**简单地推倒**多米诺骨牌没有意思,他认为这太随意了,不需要技巧。因此,他决定玩~~一种他歪歪出来的~~多米诺骨牌游戏并进行“多米诺骨牌表演”。
克里斯把 $n$ 张多米诺骨牌排在一条线上,垂直竖立。一开始,他**同时**将一些多米诺骨牌推向左侧或右侧,并且保证,在每两个多米诺骨牌推向相同方向之间的某个地方,至少有一个多米诺骨牌被推向相反的方向。
每一秒,每个倒在左边的多米诺骨牌将会推动左边相邻的多米诺骨牌。同样地,向右倾斜的多米诺骨牌将会推动右边相邻的多米诺骨牌。当一个垂直的多米诺骨牌有从两边落下的多米诺骨牌时,由于力量的平衡而保持不变。以下这张图(包括3个例子)显示了该过程的一个可能示例。

给出克里斯推动多米诺骨牌的最初方向,请编程找到在过程结束时垂直留下的多米诺骨牌的数量。
输入格式
第一行包含一个整数 $ n( 1 \leq N \leq 3000 )$,表示多米诺骨牌的数量。下一行包含一个字符串 (长度为 $n$)。该字符串的第 $i$ 个字符有以下几种可能:
```
'L' : 如果第 i 个多米诺骨牌开始时被推到左边;
'R' : 如果第 i 个多米诺骨牌开始时被推到右边;
'.' : 如果第 i 个多米诺骨牌一开始没被推动。
```
保证如果 $S_{i} = S_{j} = $ ``'L'`` $(i < j)$ ,存在这样的 ķ 使得 $ i < k < j $ 且 $S_ {k}=$ ``'R'`` ;
保证如果 $S_{i} = S_{j} = $ ``'R'`` $(i < j)$ ,存在这样的 ķ 使得 $ i < k < j $ 且 $S_ {k}=$ ``'L'`` ;
输出格式
输出一个整数,即在结束时保持垂直的多米诺骨牌的数量。
说明/提示
The first example case is shown on the figure. The four pieces that remain standing vertically are highlighted with orange.
In the second example case, all pieces fall down since the first piece topples all the other pieces.
In the last example case, a single piece has not been pushed in either direction.