首页 > 代码库 > CodeForces 81A

CodeForces 81A

一眼看上去,题目很长,其实就是去重,把相邻且相同的两个字符同时去掉,直到没有相邻且相同的字符为止

 1 #include <iostream> 2 #include <cstdio> 3 #include <string> 4 #include <cstring> 5 #include <string.h> 6 using namespace std; 7 char s[200002]; 8 int main(){ 9     scanf("%s",s);10     int len=strlen(s);11     int j=1;12     for(int i=1;i<len;i++){13         if(s[i]!=s[j-1])s[j++]=s[i];             //当前的字符与新串中的最后一个字符不一样,就复制14         else {15             j--;s[j]=\0;               //当前的字符与新串中的最后一个字符一样把新串最后一个删除了16         }17     }18     s[j]=\0;                        //把j后面的字符都不要了,printf("%s",s),会在遇到‘\0’,的时候结束输出 19     printf("%s\n",s);20 }