HDU1020--- 编码

编码

时间限制:2000/1000 MS(JAVA /其他)内存限制:三万二千七百六十八分之六万五千五百三十六K(Java /其他的)
总提交(S):21294接受提交的文件:9263


问题说明
给出一个字符串只包含'A' - 'Z',我们可以对其进行编码使用下面的方法:1。每个子字符串包含k个相同的字符编码应为“KX”,其中“X”是唯一的字符子串如果子串的长度是1,'1'应该被忽略。




 

输入
第一行包含一个整数N(1 <= N <= 100),表示测试案例的数量。接下来的N行包含N个字符串。每串由'A' - 'Z'和长度小于10000。
 

产量
对于每个测试用例,输出编码串在一条线上。
 

采样输入
   
   
   
   
2 ABC ABBCCC
 

样本输出
   
   
   
   
ABC A2B3C
 
#include<stdio.h>

#include<string.h>
int main(){
	int n,count=0,i,len,t;
	char s[10005];
	scanf("%d",&n);
	while(n--){
		scanf("%s",s);
		i=0;
		while(s[i] != '\0'){
			t=i;
			while(s[t+1]  == s[i]){
				t++;
			}
			if(t>i) printf("%d",t-i+1);
			printf("%c",s[i]);
			i=t;
			i++;
		}
		printf("\n");
	}
	return 0;
}

 

你可能感兴趣的:(HDU1020--- 编码)