题解
String |
---|
题目一开始可能有点难以理解 |
先看例子理解一下 |
得到下一个序列要用两步 |
1. 取出要判断的字符(后面写这个字符有几个) |
2. 计算这个字符有几个 |
把这些作为字符串放到另一个字符串中 |
Code
#include <iostream>
using namespace std;
int main()
{
string d;
int N;
cin >> d >> N;
while (--N)
{
// 临时变量
string s;
// 每次为空的时候停止
while (!d.empty())
{
int cnt = 0;
// 先取出要判断的数
s.push_back(d.front());
// 计算有几个
while (d.front() == s.back() && !d.empty())
{
cnt++;
// 判断完就删除
d.erase(0, 1);
}
// 个数加入
s.push_back(char(cnt + '0'));
}
d = s;
}
cout << d;
return 0;
}