首页 > 其他 > 详细

杭电1020

时间:2014-07-24 23:36:33      阅读:409      评论:0      收藏:0      [点我收藏+]

Encoding

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 26063    Accepted Submission(s): 11467


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
 


 

Author
ZHANG Zheng

 

 

 

 

#include<stdio.h>

int main()

{

 int n,m;

 char c1,c2;

 scanf("%d",&n);

 c1=getchar();//此处为吸收换行符

 while(n--)

 

{

 int m=1;

 c1=getchar();//此处吸收第一个字符

 while(1)

 {

 c2=getchar();

 if(c1!=c2)

 {

 if(m==1)

printf("%c",c1);

 else

 printf("%d%c",m,c1);

 if(c2==‘\n‘)

 break;

m=1; //此处重新化为1 重新计数

c1=c2;//将二复制给一 使能够循环进行吸收比较

 }

 else

 m++;

 }

 printf("\n");

 }

 return 0;

}

杭电1020,布布扣,bubuko.com

杭电1020

原文:http://blog.csdn.net/ice_alone/article/details/38086829

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!