/**
* 1.解题思路:用string s接收所需变幻的数字,每次遍历s
* 从当前位置i开始,看后面有多少个与s[i]相同,设j处开始不相同
* 那么临时字符串 t += s[i] + to_string(j – i);
* 然后再将t赋值给s,cnt只要没达到n次就继续加油循环下一次,最后输出s的值
*
* 2.参考博客:https://www.liuchuo.net/archives/4646
**/
#include <iostream>
using namespace std;
int main() {
string s;
int n, j;
cin >> s >> n;
for (int cnt = 1; cnt < n; cnt++) {
string t;
for (int i = 0; i < s.length(); i = j) {
for (j = i; j < s.length() && s[j] == s[i]; j++);
t += s[i] + to_string(j - i);
}
s = t;
}
cout << s;
return 0;
}
1084 外观数列
最新推荐文章于 2021-03-27 19:21:26 发布