#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
int main(){
char control,a[1005];
cin>>control;
cin.get();
cin.getline(a,1005);
if(control=='C'){
int k=1;
for(int i=0;i<strlen(a)-1;i++){
if(a[i]==a[i+1]){
k++;
} else{
if(k==1){
cout<<a[i];
}
else{
cout<<k<<a[i];
k=1;
}
}
}
if(k==1){
cout<<a[strlen(a)-1];
}
else{
cout<<k<<a[strlen(a)-1];
}
}
else{
int t=1;
for(int i=0;i<strlen(a);i++){
if(a[i]>='0'&&a[i]<='9'&&t==1){
t=atoi(a+i);
// cout<<t<<endl;
}
else if(!(a[i]>='0'&&a[i]<='9')){
if(t==1)
cout<<a[i];
else{
for(int j=0;j<t;j++){
cout<<a[i];
}
t=1;
}
}
}
}
return 0;
}
1078 字符串压缩与解压 (20 分)
最新推荐文章于 2025-03-17 10:51:53 发布
本文介绍了一种简单的字符串压缩与解压算法实现。通过读取控制字符来判断是进行压缩还是解压操作。压缩时,连续重复的字符会被计数并替换为数量加字符的形式;解压时,则根据数量重复输出字符。该算法适用于简单的文本处理场景。
853

被折叠的 条评论
为什么被折叠?



