首页 > 其他 > 详细

HDU 1020 Encoding

时间:2016-01-24 10:16:53      阅读:249      评论:0      收藏:0      [点我收藏+]

Encoding

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


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
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     char tmp;
 9     char c[10005];
10     int N,n;
11     scanf("%d",&N);
12     while(N--){
13         scanf("%s",c);tmp=c[0];n=1;
14         for(int i=1;i<strlen(c);i++){
15             if(tmp!=c[i]){
16                 if(n!=1)
17                     printf("%d%c",n,tmp);
18                 else
19                     printf("%c",tmp);
20                 tmp=c[i];n=1;
21             }
22             else{
23                 n++;
24             }
25         }
26         if(n!=1)
27             printf("%d",n);
28         printf("%c",c[strlen(c)-1]);
29         printf("\n");
30 
31     }
32     return 0;
33 }

 

HDU 1020 Encoding

原文:http://www.cnblogs.com/livelihao/p/5154540.html

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