#include<bits/stdc++.h>
using namespace std;
void a(string s)
{
string ans;
int k=0;
for(int i=0,j=0;i<s.size();i++)
{
while(j<s.size()&&s[j]==s[i]) k++,j++;
if(j-i>1) ans+=to_string(j-i);
ans+=s[i];
i=j-1;
}
cout<<ans<<endl;
}
void b(string s)
{
for(int i=0;i<s.size();i++)
{
if(s[i]<'0'||s[i]>'9') cout<<s[i];
else
{
int k=0;
while(s[i]>='0'&&s[i]<='9') k=k*10+s[i]-'0',i++;
while(k--) cout<<s[i];
}
}
}
int main(void)
{
string op,s;
getline(cin,op);getline(cin,s);
if(op=="C") a(s);
else b(s);
return 0;
}
【PAT乙级】1078 字符串压缩与解压 (20 分)
最新推荐文章于 2022-12-12 18:51:19 发布