#include<stdio.h>
#define S 1000000
int check(char str[]){
int i = 0;
int j;
int count1 = 0; //规则1,三个同样的字母连续
int count2 = 0; //规则2,两对一样的字母连在一起
int aa = 0;
while(str[i]!='\0'){
if(i==0){
count1 = 1;
count2 = 0;
aa = 0;
}else{
if(str[i]==str[i-1]){
count1++;
if(count1==2){
aa = 0;
count2++;
}
}else{
count1 = 1;
aa++;
if(aa==2){
count2 = 0;
}
}
}
if(count1==3){ // 出现连续三个相同字符
j = i;
while(str[j+1]!='\0'){
str[j] = str[j+1];
j++;
}
str[j] = '\0';
i = i-2;
count1 = 1;
count2 = 0;
aa = 0;
continue;
}
if(count2==2){
j = i;
while(str[j+1]!='\0'){
str[j] = str[j+1];
j++;
}
str[j] = '\0';
i = i-3;
count1 = 1;
count2 = 0;
aa = 0;
continue;
}
i++;
}
return 0;
}
main(){
int i,n;
char str[S];
scanf("%d", &n);
for(i=0; i<n; i++){
scanf("%s", &str);
check(str);
printf("%s\n", str);
}
}
想问下这里的aa变量的作用?