输入字符串,输出压缩后的字符串。压缩的方法是把连续的相同字母压缩为"长度+字母"的形式,在本题中,单个的字母不需要压缩。
输入 一行,一个字符串,只包含小写英文字母,长度不超过 255 255 。
输出 输出压缩的结果。
样例 输入复制 aaabbbbbx 输出复制 3a5bx 来源 字符串
#include<algorithm> //含sort函数等
#include<cmath> //关于数学函数的头文件
#include<cstring> //string字符串头文件
#include<cstdio> //C语言的头文件
#include<iomanip> //用于cout<<fixed<<setprecision()
#include<iostream> //含cin,cout
#include<queue> //普通队列(只能一边进一边出)(先进先出)
#include<deque> //双向队列(两边都可以进出)(先进先出)
#include<stack> //栈(先进后出,后进先出)
#include<list> //列表
#include<vector> //动态数组
#include<map> //关联式容器
#include<set> //集合
#include<climits> //INT_MAX与INT_MIN
#include<utility> //pair等
using namespace std;
map<char,int>mp;
string s;
int len;
int main()
{
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
cin>>s;
len=s.size();
for(int i=0;i<len;i++){
mp[s[i]]++;
}
for(int i=0;i<len;i++){
if(mp[s[i]]>=2){
cout<<mp[s[i]]<<s[i];
}else if(mp[s[i]]==1){
cout<<s[i];
}
mp[s[i]]=0;
}
//fclose(stdin);
//fclose(stdout);
return 0; //每日一个好习惯,老师远离我
}