#include<iostream>
using namespace std;
int main(){
char c;
string s;
cin>>c;
getchar(); //接收回车
getline(cin,s); //字符串中可能含有空格
if(c=='C'&&s.length()>0){ //压缩
char pre=s[0];
int num=1;
for(int i=1;i<s.length();i++){
if(s[i]==pre) num++;
else{
if(num>1) cout<<num;
cout<<pre;
pre=s[i];
num=1;
}
}
if(num>1) cout<<num;
cout<<pre;
}else{ //解压
string snum="";
int num=1;
for(int i=0;i<s.length();i++){
if(isdigit(s[i])) snum+=s[i];
else{
if(snum.length()>0) num=stoi(snum);
while(num--) cout<<s[i];
snum="";
num=1;
}
}
}
return 0;
}
PAT乙级-1078 字符串压缩与解压 (20 分)
最新推荐文章于 2024-08-22 17:27:46 发布