akoj-1076-Encoding
2015-06-07 15:41
204 查看
Encoding
Time Limit:1000MS Memory Limit:65536K
Total Submit:62 Accepted:35
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
Source
Time Limit:1000MS Memory Limit:65536K
Total Submit:62 Accepted:35
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
Source
#include <stdio.h> #include <string.h> #define MAXN 10000 + 10 char str[MAXN]; int main() { int n, i, k, c, thisn, maxn; scanf("%d", &n); while (n--) { c = 0; scanf("%s", str); k = strlen(str); str[k] = -1; // 这里的输入长度小于定义的长度所以不会越界 thisn = maxn = 0; for ( i=0; i<k; i++ ) { thisn++; if ( thisn > maxn ) { //实时更新段的长度 maxn = thisn; } if ( str[i+1] != str[i] ) { // 当后面的与前面的不同时输出之前的 thisn = 0; if ( maxn == 1 ) { printf("%c", str[i]); } else { printf("%d%c", maxn, str[i]); maxn = 0; // 输出后将最大长度再次赋值为0 } } } printf("\n"); } return 0; }
相关文章推荐
- 【整理】二叉树概念以及代码实现
- Objective C 中的nil,Nil,NULL和NSNull理解
- XTHML
- 十三周——输入输出流——项目— 小玩文件(1)
- linux入门基础——linux网络配置
- accept功能
- Microsoft Visual C++ Runtime Library Runtime Error解决的方式
- 在mfc中使用cef
- HTML
- 引起获取网络抛异常的情况
- Valid Parentheses
- bzoj 3673 可持久化并查集
- struts2 的 result type详解
- 逐渐深入地理解Ajax
- IoC容器Autofac(3) - 理解Autofac原理,我实现的部分Autofac功能(附源码)
- Win7、VS2010、OpenCV2.3.1 出现:“无法启动此程序,因为计算机中丢失tbb_debug.dll.尝试重新安装该(转)
- java spring aop 的代理的简单实现
- BZOJ 1782: [Usaco2010 Feb]slowdown 慢慢游( BIT + dfs )
- LVM实例及快照相关
- 设计模式之访问者模式,C++实现