HDU 1020 Encoding
来源:互联网 发布:关键词分分析软件 编辑:程序博客网 时间:2024/05/20 04:28
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 45618 Accepted Submission(s): 20167
Total Submission(s): 45618 Accepted Submission(s): 20167
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.
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
2ABCABBCCC
Sample Output
ABCA2B3C
题意:
给定一个仅包含‘A-Z’的字符串,用以下方法对它进行编码:
1、包含K个相同字符的应编码为'KX',其中X是此子串中的唯一字符。
2、如果子串长度为1,这忽略1。
解题思路:
找出子串中相同的字符,用一个计数器记录该字符出现的次数即可。若出现次数为1忽略1即可。
注意:
题目描述的是子串连续的的字符中各个字母的个数。而不是一整串的字符中的字母的个数
例如:AABBBCAABCCD
2A3BC2AB2CD
刚开始理解错题意了,错了好几遍呢!
代码:
#include <iostream>#include <algorithm>#include <map>#include <cstdio>#include <string>#include <cstring>using namespace std;int main(){ int t; string s; cin>>t; getchar(); while(t--) { cin>>s; int len=s.size(); int ans=1;///用ans来记录字符出现的次数 int temp=s[0];///用temp来存储第一个字符 for(int i=1; i<=len; i++)///将temp与后边的字符进行比较,相同的ans++ { if(s[i]!=temp) { if(ans==1)///如果次数为1,忽略1,直接输出 { cout<<s[i-1]; temp=s[i]; } else { cout<<ans<<s[i-1]; temp=s[i]; ans=1; } } else ans++; } cout<<endl; } return 0;}
3 0
- hdu 1020 Encoding(模拟)
- HDU 1020 Encoding
- hdu 1020 Encoding
- HDU 1020 Encoding
- HDU 1020 Encoding
- Hdu 1020 - Encoding
- HDU 1020 Encoding
- hdu 1020 Encoding
- hdu 1020 Encoding
- HDU 1020 Encoding
- hdu 1020 Encoding
- HDU 1020Encoding
- hdu 1020 Encoding
- HDU 1020 Encoding
- HDU 1020:Encoding
- hdu 1020 Encoding
- hdu 1020 Encoding
- hdu-1020-Encoding
- 学习的JS放大镜
- js中this的指向
- 在 Ubuntu 14.x 搭建 Nginx Uwsgi Django 环境之(三):连接 nginx 和 uwsgi
- 链表类面试题
- Git远端仓库被不同版本的本地仓库push,不能正常提交代码
- HDU 1020 Encoding
- 二分贪心d
- opencv3.2生成不依赖vs2015的dll
- 霍夫曼编码的实现(数组模拟)
- Android之Activity的四种启动模式
- cookie,sessionStorage,localStorage分别是什么,以及三者之间的区别
- AVL树的旋转LL RR LR RL
- ES6的let和const命令(一)
- Java容器_4个接口