1140 Look-and-say Sequence

Posted kkmjy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1140 Look-and-say Sequence相关的知识,希望对你有一定的参考价值。

题意:略

思路:第1个数是1(读作“1有1个”),因此第2个数就是11(读作“1有2个”),因此第3个数就是12(读作“1有1个,2有1个”),因此第4个数是1121(读作“1有2个,2有1个,1有1个”),因此第5个数是122111......懂了吧。

代码:

#include <string>
#include <iostream>
using namespace std;
int main()
{
    int d,n;
    cin>>d>>n;
    string str(1,d+0);
    for(int k=1;k<n;k++){
        int i=0;
        string temp;
        while(i<str.size()){
            int s=i;
            char pre=str[s];
            while(i<str.size() && str[i]==pre) i++;
            int cnt=i-s;
            temp+=string(1,pre)+string(1,cnt+0);
        }
        str=temp;
    }
    cout<<str;
    return 0;
}

 

以上是关于1140 Look-and-say Sequence的主要内容,如果未能解决你的问题,请参考以下文章

PAT 1140 Look-and-say Sequence

1140 Look-and-say Sequence (20 分)

1140 Look-and-say Sequence

1140 Look-and-say Sequence (20 分)难度: 一般 / 知识点: 模拟

Look-and-Say 数列

MySQL #1140 - GROUP 列的混合