hdu 1020 简单的字符串处理
2014-03-13 12:57
246 查看
题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=1020
Total Submission(s): 23937 Accepted Submission(s): 10515
[align=left]Problem Description[/align]
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.
[align=left]Input[/align]
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.
[align=left]Output[/align]
For each test case, output the encoded string in a line.
[align=left]Sample Input[/align]
2
ABC
ABBCCC
[align=left]Sample Output[/align]
ABC
A2B3C
代码如下:
Encoding
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 23937 Accepted Submission(s): 10515
[align=left]Problem Description[/align]
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.
[align=left]Input[/align]
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.
[align=left]Output[/align]
For each test case, output the encoded string in a line.
[align=left]Sample Input[/align]
2
ABC
ABBCCC
[align=left]Sample Output[/align]
ABC
A2B3C
代码如下:
1 #include<iostream> 2 #include<stdio.h> 3 #include<string> 4 #include<string.h> 5 #include<map> 6 #include<math.h> 7 #include<algorithm> 8 #define N 10005 9 using namespace std; 10 char str ; 11 int main() 12 { 13 int n,i,t; 14 scanf("%d",&n); 15 while(n--) 16 { 17 scanf("%s",str); 18 i=0; 19 while(str[i]!='\0') 20 { 21 t=i; 22 while(str[t+1] == str[t]) 23 t++; 24 if(t>i) 25 printf("%d%c",t-i+1,str[t]); 26 else 27 printf("%c",str[t]); 28 i=t+1; 29 } 30 printf("\n"); 31 } 32 return 0 ; 33 }
相关文章推荐
- hdu 1020 Encoding(字符串处理)
- HDOJ/HDU 2567 寻梦(字符串简单处理)
- hdu 2734 简单地字符串处理
- HDU 5585 Numbers(字符串的处理 简单题)——BestCoder Round #64(div.2)
- HDU 1088 处理每个字符串比直接用getchar处理简单
- HDU 2399 GPA(简单字符串的处理)
- HDU-1039-Easier Done Than Said?(简单字符串处理)
- 简单字符串处理 hdu1062 Text Reverse
- HDU 1020 Encoding (字符串处理)
- hdu 1020 Encoding【字符串处理】
- hdu 1062 Text Reverse 字符串处理。简单水题
- hdu 1004 Let the Balloon Rise ( 字符串简单处理)
- hdu 1800 简单字符串处理
- 简单字符串处理 hdu2532 Engine
- hdu 3787 A+B(简单字符串处理)
- hdu 1062 Text Reverse(字符串处理,简单模拟)
- HDU1020(字符串处理)
- HDU-1228-A + B(简单字符串处理)
- hdu 5059 简单字符串处理
- hdu 5059 简单字符串处理