Problem Description
Given a string containing only 'A' - 'Z', we could encode it using the following method:
1. Each sub-string containing k same characters should be encoded to "kX" where "X" is the only character in this sub-string.
2. If the length of the sub-string is 1, '1' should be ignored.
1. Each sub-string containing k same characters should be encoded to "kX" where "X" is the only character in this sub-string.
2. If the length of the sub-string is 1, '1' should be ignored.
Input
The first line contains an integer N (1 <= N <=
100) which indicates the number of test cases. The next N lines contain N
strings. Each string consists of only 'A' - 'Z' and the length is less than
10000.
Output
For each test case, output the encoded string in a
line.
Sample Input
2
ABC
ABBCCC
Sample Output
ABC
A2B3C
1 #include<stdio.h> 2 #include<string.h> 3 int main() 4 { 5 char a[10001]; 6 int n; 7 scanf("%d",&n); 8 getchar(); 9 while(n--) 10 { 11 memset(a,0,sizeof(a)); 12 gets(a); 13 int len=strlen(a),i,count=1; 14 for(i=0;i<len-1;i++) 15 { 16 if(a[i]==a[i+1]) 17 { 18 count++; 19 if(i==len-2) 20 printf("%d%c",count,a[i]); 21 } 22 else 23 { 24 if(i==len-2) 25 { 26 if(count==1) 27 printf("%c%c",a[i],a[i+1]); 28 else 29 printf("%d%c%c",count,a[i],a[i+1]); 30 } 31 else 32 { 33 if(count==1) 34 printf("%c",a[i]); 35 else 36 printf("%d%c",count,a[i]); 37 } 38 count=1; 39 } 40 } 41 printf(" "); 42 } 43 }