encoding(hdoj1020)

时间:2022-11-02 20:25:58
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.

 
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
 #include<stdio.h>
#include<string.h>
int main()
{
char a[];
int n;
scanf("%d",&n);
getchar();
while(n--)
{
memset(a,,sizeof(a));
gets(a);
int len=strlen(a),i,count=;
for(i=;i<len-;i++)
{
if(a[i]==a[i+])
{
count++;
if(i==len-)
printf("%d%c",count,a[i]);
}
else
{
if(i==len-)
{
if(count==)
printf("%c%c",a[i],a[i+]);
else
printf("%d%c%c",count,a[i],a[i+]);
}
else
{
if(count==)
printf("%c",a[i]);
else
printf("%d%c",count,a[i]);
}
count=;
}
}
printf("\n");
}
}