8RE2WA求调

P1255 数楼梯

Akagi2017 @ 2022-10-17 22:08:34

#include <bits/stdc++.h>
using namespace std;
char f[5000][150];
int main(){
    int n;
    scanf("%d",&n);
    f[1][1]='1';
    f[2][1]='2';
    for(int i=3;i<=n;i++){
        int jw=0;
        int len1,len2;
        for(int j=1;j<=2;j++){
            for(int k=1;f[i-j][k]!='\0';k++){
                if(j==1) len1++;
                else len2++;
            }
        }
        for(int j=1;j<=min(len1,len2);j++){
            f[i][j]=(jw+(f[i-1][j]-'0')+(f[i-2][j]-'0'))%10+'0';
            jw=(jw+(f[i-1][j]-'0')+(f[i-2][j]-'0'))/10;
        }
        int m = len1>len2 ? i-1 : i-2; 
        for(int j=min(len1,len2)+1;j<=max(len1,len2);j++){
            f[i][j]=f[m][j];
        }
        f[i][min(len1,len2)+1]=f[i][min(len1,len2)+1]-'0'+jw+'0';
    }
    int lenn;
    for(int k=1;f[n][k]!='\0';k++){
        lenn++;
    }
    for(int i=lenn;i>=1;i++){
        printf("%c",f[n][i]);
    }
    printf("\n");
    return 0;
}

蒟蒻已经调麻了...


by liwenxi114514 @ 2022-10-17 22:41:56

@Akagi2017

数组开小了


|