20求调(应该不是数组问题)

P1255 数楼梯

Akagi2017 @ 2022-10-18 13:42:50

#include <bits/stdc++.h>
using namespace std;
char f[5005][1500];
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=0;
    while(f[n][lenn+1]!='\0') lenn++;
    for(int i=lenn;i>=1;i--){
        printf("%c",f[n][i]);
    }
    printf("\n");
    return 0;
}

20分... 2WA 2AC 6RE...

本地调试会输出各种符号。应该是高精出了问题,但是蒟蒻找不到啊[泪目]


by liumuyvan @ 2022-10-18 14:26:07

。。。为什么要用字符。。。


by liumuyvan @ 2022-10-18 14:26:53

第一次见有人用字符写高精


by Akagi2017 @ 2022-10-18 21:26:54

@liumuyvan 铀氘锂QAQ


|