前言
正文
参考题解
#include<iostream>
#include<algorithm>
using namespace std;
/* 题意:对于第i+1个序列,它是用来描述第i个序列的,描述原则是-》第i个序列中某个字符+该字符连续重复的次数 比如样例 1 8 其每个序列应该如下: 1 11 12 1121 122111 112213 12221131 1123123111 故其第8个序列为1123123111 思路: 抓住第i个序列是第i+1个序列的初始序列,然后按照规则进行变换即可 注意求解某个连续字符个数的通用模板为: for(int i=0,j;i<len){ j=i+1; while(j<len&&a[j]==a[j-1])j++; int num=j-i; //即字符a[i]的个数为num i=j; } */
int main(){
int cnt=2,n;
string d,temp="";
cin>>d>>n;
while(cnt<=n){
int len=d.size();
for(int i=0,j;i<len;){
j=i+1;
while(j<len&&d[j]==d[j-1])j++;
int num=j-i;//该字符重复的个数
temp.push_back(d[i]);
temp.push_back(num+'0');
i=j;
}
d=temp;
temp.clear();
cnt++;
}
cout<<d<<endl;
return 0;
}