lbc20070331 @ 2021-12-05 15:50:00
#include<bits/stdc++.h>
using namespace std;
#define getchar() (p1==p2 && (p2=(p1=buf)+fread(buf,1,1<<22,stdin),p1==p2)?EOF:*p1++)
char buf[(1<<22)],*p1=buf,*p2=buf;
long long f[5090][5090];
int len=1;
inline int read(){
int x=0,f=1;
char c;
c=getchar();
while(c<'0'||c>'9') {
if(c=='-') f=-1;
c=getchar();
}
while(c>='0'&& c<='9'){
x=x*10+c-'0',c=getchar();
}
return x*f;
}
void print(int n){
if(n<0) putchar('-'),n=-n;
if(n>9) print(n/10);
putchar('0'+ n%10);
}
void jf(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;
if(f[k][len+1]) len++;
}
}
}
int main()
{
int n;
n=read();
f[0][1]=0;
f[1][1]=1;
f[2][1]=2;
for(int i=3;i<=n;i++){
jf(i);
}
for(int i=len;i>=1;i--){
print(f[n][i]);
}
return 0;
}
by DaShaber @ 2021-12-05 15:58:27
@lbc20070331
long long f[5090][5090];
没必要开这么大
到
long long f[5090][1145];
都绰绰有余了
by lbc20070331 @ 2021-12-05 16:01:47
感谢感谢!!
已过