HDU 1020 at Sun
2015-05-10 12:48
141 查看
I - O
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d
& %I64u
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
Sample Output
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d
& %I64u
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 <stdio.h> #include <math.h> #include <string.h> #include <iostream> #include <algorithm> using namespace std; char a[10004], cun[10004]; int jishu[1004]={0}; int main() { int N, k = 0; scanf("%d", &N); for(int j = 1; j <= N; j++) { scanf("%s", a); k=0; for(int i=0;i<strlen(a);i++) { if(a[i] == a[i+1]) { jishu[k]++;//如果前一字母与后一字母相同,则计数数组++; } else { cun[k] = a[i]; jishu[k]++; k++;//否则计数数组下标++; } } jishu[k]++; for(int i=0; i<k; i++) { if(jishu[i] != 1) { printf("%d", jishu[i]); } printf("%c",cun[i]); } printf("\n"); memset(a, 0, sizeof(a)); memset(jishu, 0, sizeof(jishu)); memset(cun, 0, sizeof(cun));//重置3个数组; } return 0; }
相关文章推荐
- HDU 1020 Encoding
- hdu1020 - Encoding
- hdu 1020
- 【HDU】(字符串)1020_Encoding C++解法
- HDU1020
- HDU 1020 Train Problem I 栈和队列的应用
- hdu 1020 Encoding
- HDU 1020 Encoding (字符串处理)
- HDU1020——Encoding
- HDU1020(水题)
- hdu(1020)Encoding统计字符
- HDU 1020 Encoding 控制字符串的输出
- hdu 1020 Encoding
- ACM_HDU 1020 Encoding
- hdu 1020 Encoding【字符串处理】
- HDU 1020 Encoding
- HDU 1020 Encoding
- 杭电 HDU 1020 Encoding
- HDU 1020 Encoding
- hdu_1020_Encoding_201310172120