#2217. 徐老师的机器命令
徐老师的机器命令
题目描述
最近黄老师到徐老师家做客,但是没想到机器人的控制器居然被徐老师放在了沙发上
于是黄老师一屁股坐在了控制器上,在黄老师做完客离开家里以后
徐老师发现机器人被输入了一连串的指令!
但是幸好的是,机器人收到的指令中只有两种指令:充电(C) 和 移动(M)
这让徐老师相当心疼,因为机器人进行移动是会导致磨损的!
而徐老师当然可以擦除机器人现在收到的指令序列,但是擦除指令也会对机器人造成损伤!
机器人现在的指令序列可以用一个仅包含 和 的字符串表示
由于随机擦除指令会极大的影响机器人的 使用寿命,所以徐老师只会从指令序列的开头或者结尾擦除指令,不会擦除中间的指令
即如果指令序列为 ,徐老师可以擦除开头的指令变成 可以擦除结尾的指令变成 ,也可以两段都擦除一部分变成 ,当然也可以不擦除任何命令
这样可以让徐老师擦除指令时对机器人的损伤达到最小,但是不可避免的损伤依旧存在两种:
- 擦除指令时,每擦除一个 指令会对机器人造成 点 损伤
- 剩余的指令集中,每存在一个 指令会对机器人造成 点物理损伤
徐老师只会关心两种损伤中比较大的损伤是多少
现在徐老师想知道,对于一个指令序列,怎么擦除指令可以使得机器人最终受到的损伤最小?
输入格式
第一行包含一个整数 表示有多组测试数据
对于每组测试数据包含一行仅由大写字母 组成的字符串,其中 代表充电指令, 代表移动指令
输出格式
对于每组测试数据,输出一行包含一个整数表示最小的损伤
数据范围
数据点编号 | 字符串长度 | 其他 |
---|---|---|
无 | ||
每个指令序列中不超过 个 | ||
每个指令序列中不超过 个 | ||
无 |
对于 的数据保证,
样例输入1
5
CMCCCMCCM
CMMCMMCMMCMMC
MMMMCCCCCC
MMMMM
CCCC
样例输出1
1
3
0
0
0
样例解释1
第一组测试数据: 移除的 有 个,剩余的 有 个,损伤为
第二组测试数据: 移除的 有 个,剩余的 有 个,损伤为
第三组测试数据: 移除的 有 个,剩余的 有 个,损伤为
第四组测试数据: 移除的 有 个,剩余的 有 个,损伤为
第五组测试数据: 移除的 有 个,剩余的 有 个,损伤为
以上对于每组测试数据均只提供一种可能方案,方案可能不止一种
相关
在下列比赛中: