比赛 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;
}