1 条题解

  • 1
    @ 2025-12-8 17:39:51
    #include<bits/stdc++.h>
    using namespace std;
    int n,len=1,f[5003][5003];
    void hp(int k){    
        int i;
        for(i=1;i<=len;i++)
            f[k][i]=f[k-1][i]+f[k-2][i];
        for(i=1;i<=len;i++)
            if(f[k][i]>=10){
                f[k][i+1]+=f[k][i]/10;
                f[k][i]=f[k][i]%10;
                if(f[k][len+1])
                    len++;
        }
    }
    int main(){
        int i;
        cin>>n;
        f[1][1]=1; f[2][1]=2; 
        for(i=3;i<=n;i++) 
            hp(i);                         
        for(i=len;i>=1;i--)
            printf("%d",f[n][i]);
        return 0;
    }
    
    • 1

    信息

    ID
    253
    时间
    1000ms
    内存
    128MiB
    难度
    3
    标签
    递交数
    3
    已通过
    2
    上传者