songchunxi @ 2023-06-26 14:49:01
#include <bits/stdc++.h>
using namespace std;
int n,i,j,x=1;
int f[10010][10010];
int main(){
cin>>n;
f[1][1]=1;
f[2][1]=2;
for(i=3;i<=n;i++){
for(j=1;j<=x;j++){
f[i][j]=f[i-1][j]+f[i-2][j];
}
for(j=1;j<=x;j++){
if(f[i][j]>=10){
f[i][j+1]+=f[i][j]/10;
f[i][j]%=10;
if(f[i][x+1]>0) x++;
}
}
}
for(i=x;i>=1;i--){
cout<<f[n][i];
}
return 0;
}
by Fated_Shadow @ 2023-06-26 14:55:35
看来 lz 已经过了(还是因为爆空间才过 MLE 了最后一个点)
by 114514u @ 2023-07-13 17:48:11
f[10010][10010]用 long long开数组,结果有可能会很大