6231: 消除字符

Memory Limit:256 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:91 Solved:30

Description

给定一个字符串,仅由 ABC 3 个字母组成。当出现连续两个不同的字母时,你 可以用另外一个字母替换它,如有 AB BA 连续出现,就把它们替换为字母 C;有 AC CA 连续出现时,就把它们替换为字母 B;有 BC CB 连续出现时,就把它们替换为字母 A。你 不断反复按照这个规则,每次都对从头开始的第一组连续出现的两个不同的字母进行替换, 求最终结果。 输入一个字符串,长度不超过 1000000,仅由 ABC 3 个字母组成。 最后一个字符为 EE 只是结束标志,不是字符串的实际组成部分! 输出:按照上述规则不断消除替换,每次都必须从头查找最靠前的连续两个不同的字母, 然后对它进行替换,直到不能操作为止,输出所得到的最终的字符串。结束字符 E 不要输出!

 

Input

一个字符串,长度不超过 1000000,仅由 ABC 3 个字母组成。

 

最后一个字符为 EE 只是结束标志,不是字符串的实际组成部分!

Output

按照上述规则不断消除替换,每次都必须从头查找最靠前的连续两个不同的字母, 然后对它进行替换,直到不能操作为止,输出所得到的最终的字符串。

 

结束字符 E 不要输出!

Sample Input Copy

样例1
CABE

样例2
BCABE

Sample Output Copy

样例1
BB

样例2
B

HINT

10%的数据满足:所有字母都相同且字符串长度不超过 10

 

另外 20%的数据满足:只有两种字母,并且其中的一个字母只出现一次

 

另外 30%的数据满足:字符串长度不超过 5000

 

100%的数据满足:字符串长度不超过 1000000,输入输出最好使用 getchar() putchar(), 以下给出 getchar() putchar()的用法:

 

char x = getchar(); //注意不会忽略空格和回车

putchar(x); //x 为一个 char 形的变量