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 100.
Output
For each test case, output the encoded string in a line.
Sample Input
2
ABC
ABBCCC
我对于这个题目有一种情节,从我大一接触这个题目,用了两个多小时都
做不出来,到今天只用了15分钟就搞定了,我想说这是一个过程,我在逐
渐成长着。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
int i,j,t,y;
char s[104];
scanf("%d",&y);
while(y--)
{
//getchar();
scanf("%s",s);
int len=strlen(s);
//printf("%d\n",len);
int q;
for(i=0;i<len;i++)
{
t=0;
//printf("%c",s[i]);
for(j=i+1;j<len;j++)
{
if(s[i]!=s[j])
{
break;
}
else
{
t++;
i++;
}
}
// i=q-1;
if(t==0)
printf("%c",s[i]);
else
printf("%d%c",t+1,s[i]);
}
printf("\n");
}
return 0;
}