#2#4 WA,大佬求助
查看原帖
#2#4 WA,大佬求助
772478
Wisdom_chicken_god楼主2023/2/26 19:50
#include<bits/stdc++.h>
using namespace std;
namespace IO{
	char ibuf[(1<<20)+1],*iS,*iT;
	#if ONLINE_JUDGE
	#define gh() (iS==iT?iT=(iS=ibuf)+fread(ibuf,1,(1<<20)+1,stdin),(iS==iT?EOF:*iS++):*iS++)
 	#else
	#define gh() getchar()
	#endif
	inline long long read(){
		char ch=gh();
		long long x=0;
		bool t=0;
		while(ch<'0'||ch>'9')   t|=ch=='-',ch=gh();
		while(ch>='0'&&ch<='9') x=x*10+(ch^48),ch=gh();
		return t?-x:x;
	}
}
using IO::read;
int	size=1;
int m,n,f[5020][5050];
void fb(int	q){
	for(int	i=1;i<=size;i++){
		f[q][i]=f[q-1][i]+f[q-2][i];
	}
	for(int	i=1;i<=size;i++){
		int cnt=f[q][size+1];
		f[q][i+1]=f[q][i]/10+f[q][i+1];
		f[q][i]=f[q][i]%10;
		if(f[q][size+1]>0)
		size++;
	}
}
int main(void){
    cin>>m>>n;
    m=1;
    n=n-m;
    f[1][1]=1,f[2][1]=2;
	for(int i=3;i<=n;i++){
		fb(i);
	}
	while(f[n][size]==0){
		size--;
	}
	for(int	i=size;i>=1;i--)
	cout<<f[n][i];
	return 0;
}
2023/2/26 19:50
加载中...