#include <iostream>
#include <algorithm>
#include <bits/stdc++.h>
using namespace std;
int main()
{
int D;
int n;
while(~scanf("%d %d", &D, &n))
{
int a[100000] = {D};//初始串为D
int ai = 1;//a数组的下标
for(int i=1; i<n; i++)
{
int b[100000];//每次的结果串保存到b数组
int bi = 0;//b数组下标
int v = a[0];//记录串中的当前值
int t = 0;//当前值出现的次数
for(int j=0; j<ai; j++)
{
if(v == a[j])
{
t++;
}
else
{
b[bi++] = v;
b[bi++] = t;
v = a[j];
t = 1;
}
if(j == ai-1)
{//遍历到最后一个元素,保存元素值及其出现的次数
b[bi++] = v;
b[bi++] = t;
}
}
ai = bi;
for(int j=0; j<ai; j++)
{
a[j] = b[j];
}
}
for(int i=0; i<ai; i++)
{
printf("%d", a[i]);
}
printf("\n");
}
return 0;
}
PAT 甲级 1140 Look-and-say Sequence(20 分)
猜你喜欢
转载自blog.csdn.net/Q_smell/article/details/80971685
今日推荐
周排行