C0680 [BJOI2011]符环

内存限制:256 MB 时间限制:2000 ms

题目描述

在可以炼制魔力强大的法杖的同时,Magic Land 上的人们渐渐意识到,魔力强大并不一定能给人们带来好处——反而,由此产生的破坏性的高魔力释放,给整个大陆蒙上了恐怖的阴影。

可控的魔力释放,成为了人们新的追求。这种控制魔力释放的技术,也就是被现在的我们熟知的“魔法”。在远古时期,“魔法”由法师们口口相传,但也因为这样,很多“古代魔法”已经成为传说——因为那时没有良好的记录魔法的方法。

后来,天才法师 Ferdinand 发现了一种记录魔法的方法:将一种特殊材料做成的正反面均有 $1$ 行 $N$ 列格子的带子的一端扭转 $180$ 度之后与另一端粘贴,这样就得到了一个仅有一面的环,被称为“符环” (Spell Ring)。

符环上的某一个格子为“起始位”,并标有起始方向,这样,我们就可以给这个环上的每一个格子进行编号: 起始位编号是 $0$,向起始方向移动一格为 $1$,这样,一共有 $2N$ 个格子,并且第 $i$ 个格子的背面(虽然带子是一面的,但是仍然有“背面”这个概念)是第 $(i+N) \bmod N$ 格。

法师们将魔法用一个由魔法标记 “(” 和 “)” 组成的串表示。人们发现,所有魔法对应的串都为合法的括号序列,并且任何一个合法的括号序列都对应一个魔法。可以发现,合法的括号序列长度均为偶数,这样就可以把一个魔法写在符环之中:从起始格开始,向起始方向,依次写入魔法标记。

这种特殊的材料使得符环带有美丽的色彩:假如一个格子的两面写有相同的魔法标记(即:假设这个带子是透明的,两个魔法标记重合),那么这个格子会变为绯红色(Scarlet);反之,若两面的魔法标记不同,会变为深蓝色(Deep blue)。

现在,你得到了一些古代的符环,由于年代久远,魔法标记已经变得模糊不清,但是颜色依然保持完好。你希望知道:给定的颜色信息,对应了多少种不同的魔法?

输入格式

第一行包含一个正整数 $T$,表示符环的数量。

接下来的 $T$ 行,每一行包含一个符环的颜色信息:

一个长度为 $N$ 的由大写字母“S”和“D”组成的字符串。

“S”表示绯红色(Scarlet),“D”表示深蓝色(Deep blue)。

从左到右依次为第 $0$、$1$、……、$N-1$ 个格子的颜色。

输出

包含 $T$ 行:

每行一个正整数,表示该符环对应的不同魔法的数量。

样例

样例输入 1

3 D SSD SDSDSDSDSDSDSDSDSDSDSDSDSDSDSDSDSDSDSDSDSDSDSDSDSD

样例输出 1

1 1 0

提示

【样例解释】

第一张符环对应了唯一的魔法“()”。

第二张符环对应了唯一的魔法“()(())”。

对于第三张符环,它的长度为 $50$,颜色是交替的。可以证明,它不能对应任何魔法。

【数据规模】

对于全部的数据:$N ≤ 50,T ≤ 10$。