Description

如上图所示,在QQ龙珠游戏中,通过龙头射出珠子,将轨道中的珠子形成同色三个或以上(含射出的珠子)相连的状态而消去这些同色的珠子。如果没有消去珠子,则在相应的位置插入射出的珠子。注意珠子的消去动作是由同色珠子的碰撞诱发的,中间的珠子被消去后两边的珠子向中间靠拢也会产生碰撞。若没有碰撞动作,就算三个或以上的珠子同色相连也不会有消去产生。
示例:
珠子序列为:
AABBAA
对中间的BB射出B,形成:
AABBBAA
符合消去条件消去BBB:
AA***AA
此时两旁的AA向中间靠拢形成:
AAAA
符合消去条件,第二次消去发生,珠子全部被消去。
现由龙头射出一个给定颜色的珠子,如何消去最多的珠子?
Input
第一行为一个正整数n (0<n<100),表示下面有n个测试用例。每个测试用例由两行组成,其中第一行为一个由大写字母组成的长度小于255的字符串,表示珠子序列,另一行只含一个大写字符,表示要发射的珠子。(一个字母代表一个珠子,字母相同则珠子颜色相同)
Output
对应每个测试用例输出一行,含一个正整数,表示最多消去的珠子数目(计数时含射出的珠子)。
Sample Input
1 CABBAAC B
Sample Output
6
Source
福建师范大学第五届程序设计竞赛
KEY:这题开始我就把题目理解错了,亏我龙珠还打得那么好……后来想通了,要碰撞才有消去啊……我居然给忘了……搞死了……

































































