A1140 Look-and-say Sequence [模拟]
题目大意:给两个数字D和n,第一个序列是D,后一个序列描述前一个序列的所有数字以及这个数字出现的次数,比如D出现了1次,那么第二个序列就是D1,对于第二个序列D1,第三个序列这样描述:D出现1次,1出现1次,所以是D111……以此类推,输出第n个序列~
#include<iostream>
#include<vector>
#include<map>
#include<string>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<set>
#include<queue>
#include<unordered_set>
using namespace std;
int main()
{
string s; int n, i, j;
cin >> s >> n;
for (int cnt = 1; cnt < n; cnt++)
{
string t;
for (i = 0; i < s.size(); i=j)
{
for (j = i + 1; j < s.size(); j++)
{
if (s[j] != s[i])
break;
}
t += s[i] + to_string(j - i);
}
s = t;
}
cout << s;
return 0;
}