#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变量的作用?