| 比赛 | 
    NOIP2023模拟赛5 | 
    评测结果 | 
    AAAAAAAAAA | 
    | 题目名称 | 
    数列 | 
    最终得分 | 
    100 | 
    | 用户昵称 | 
    ┭┮﹏┭┮ | 
    运行时间 | 
    0.000 s  | 
    | 代码语言 | 
    C++ | 
    内存使用 | 
    0.00 MiB  | 
    | 提交时间 | 
    2023-11-17 09:30:55 | 
显示代码纯文本
#include <bits/stdc++.h> 
using namespace std;
const int N = 2e7+10;
int n,tot;
int s[2][N];
int main(){
    freopen("jzoi2022_sequence.in","r",stdin);
    freopen("jzoi2022_sequence.out","w",stdout);
    scanf("%d",&n);
    if(n == 1){
        printf("1\n");
        return 0;
    }
    tot = 1;
    s[1][1] = 1; 
    for(int i = 2;i <= n;i++){
        int num = 1,cnt = 0;
        for(int j = 2;j <= tot;j++){
            if(s[(i-1)&1][j] == s[(i-1)&1][j-1])num++;
            else s[i&1][++cnt] = num,s[i&1][++cnt] = s[(i-1)&1][j-1],num = 1;
        }
        s[i&1][++cnt] = num,s[i&1][++cnt] = s[(i-1)&1][tot],num = 1;
        tot = cnt;
    }
    for(int i = 1;i <= tot;i++)
        printf("%d",s[n&1][i]);
    printf("\n");
    
    return 0;
}