题目链接:PAT【甲级】1140
题目简述:给两个数字D和n,第⼀个序列是D,后⼀个序列描述前⼀个序列的所有数字以及这个数字出现的次数,⽐如D出现了1次,那么第⼆个序列就是D1,对于第⼆个序列D1,第三个序列这样描述: D出现1次,1出现1次,所以是D111……以此类推,输出第n个序列
#include<bits/stdc++.h>
using namespace std;
int main(){
string s1, s2;
int N;
cin >> s1 >> N;
for (int i = 0; i < N - 1;i++){
s2 = s1;
s1.clear();
int index = 1;
for (int j = 0; j < s2.size();j++){
if(s2[j] == s2[j + 1])
index++;
else{
s1 += s2[j] + to_string(index);
index = 1;
}
}
}
printf("%s", s1.c_str());
return 0;
}
我以为的是我以为的,本来会觉得爆的。但又想不出好的办法,直接撸,竟然能过。
2122

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



