#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main(){
vector<string> a;
string d;
int n;
cin>>d>>n;
string t;
a.push_back(d);
for(int i=1;i<n;i++){
int cnt=1;
t=a[i-1];
string temp;
for(int i=0;i<t.length();i++){
if(t[i]==t[i+1]){
cnt++;
}else{
temp+=to_string((t[i]-'0')*10+cnt);
cnt=1;
}
}
a.push_back(temp);
}
cout<<a[n-1]<<endl;
return 0;
}
二刷更新一个方法~
#include<bits/stdc++.h>
using namespace std;
int main()
{
string s="";
int d,n;
cin>>d>>n;
s=to_string(d);
while(n-1>0){
n--;
string t="";
int cnt=0;
for(int i=0;i<s.length();i++){
if(cnt==0){
t+=s[i];cnt++;
}else if(s[i]==t[t.length()-1]){
cnt++;
}else{
t+=to_string(cnt);
t+=s[i];cnt=0;cnt++;
}
if(i==s.length()-1) t+=to_string(cnt);
}
s=t;
//cout<<s<<endl;
}
cout<<s;
return 0;
}