CF212C.Cowboys
提高+/省选-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
A very tense moment: n cowboys stand in a circle and each one points his colt at a neighbor. Each cowboy can point the colt to the person who follows or precedes him in clockwise direction. Human life is worthless, just like in any real western.
The picture changes each second! Every second the cowboys analyse the situation and, if a pair of cowboys realize that they aim at each other, they turn around. In a second all such pairs of neighboring cowboys aiming at each other turn around. All actions happen instantaneously and simultaneously in a second.
We'll use character "A" to denote a cowboy who aims at his neighbour in the clockwise direction, and character "B" for a cowboy who aims at his neighbour in the counter clockwise direction. Then a string of letters "A" and "B" will denote the circle of cowboys, the record is made from the first of them in a clockwise direction.
For example, a circle that looks like "ABBBABBBA" after a second transforms into "BABBBABBA" and a circle that looks like "BABBA" transforms into "ABABB".
This picture illustrates how the circle "BABBA" transforms into "ABABB"
A second passed and now the cowboys' position is described by string s. Your task is to determine the number of possible states that lead to s in a second. Two states are considered distinct if there is a cowboy who aims at his clockwise neighbor in one state and at his counter clockwise neighbor in the other state.
一个极其紧张的时刻:n 个牛仔围成一圈,每人用左轮手枪指向一位邻座。每个牛仔可选择指向其顺时针方向的邻座,或指向其逆时针方向的邻座。人命如草芥,一如任何真实的西部片。
这一场景每秒都会发生变化!每一秒,牛仔们都会分析当前局势;若有一对相邻牛仔彼此对准,则他们立即转身(即互换指向方向)。在每一秒内,所有此类彼此对准的相邻牛仔对会同时且瞬时转身。
我们用字符 “A” 表示指向其顺时针方向邻座的牛仔,用字符 “B” 表示指向其逆时针方向邻座的牛仔。于是,一个由 “A” 和 “B” 组成的字符串即可表示牛仔们的环形排列状态;该字符串按顺时针顺序,从某一起始牛仔开始记录。
例如,字符串 "ABBBABBBA" 经过一秒后变为 "BABBBABBA";字符串 "BABBA" 经过一秒后变为 "ABABB"。
此图展示了环形状态 "BABBA" 如何在一秒后变为 "ABABB"
已知经过一秒后,牛仔们的当前状态由字符串 s 描述。你的任务是:求出所有可能的前一时刻状态的数量(即那些经一秒演化后恰好得到 s 的初始状态数)。若两个状态中存在某个牛仔,在其中一个状态中指向其顺时针邻座、而在另一个状态中指向其逆时针邻座,则认为这两个状态互不相同。
输入格式
The input data consists of a single string s. Its length is from 3 to 100 characters, inclusive. Line s consists of letters "A" and "B".
输入数据为一个字符串 s,其长度在 3 到 100 个字符之间(含端点)。字符串 s 仅由字母 "A" 和 "B" 组成。
输出格式
Print the sought number of states.
输出所求的状态数。
输入输出样例
输入#1
BABBBABBA
输出#1
2
输入#2
ABABB
输出#2
2
输入#3
ABABAB
输出#3
4
说明/提示
In the first sample the possible initial states are "ABBBABBAB" and "ABBBABBBA".
In the second sample the possible initial states are "AABBB" and "BABBA".
在第一个样例中,可能的初始状态为“ABBBABBAB”和“ABBBABBBA”。
在第二个样例中,可能的初始状态为“AABBB”和“BABBA”。
输入解题思路,AI测评打分。不知道怎么写?