压位高精60分wa求调+疑问
  • 板块P1255 数楼梯
  • 楼主tzx233
  • 当前回复6
  • 已保存回复6
  • 发布时间2025/1/4 13:03
  • 上次更新2025/1/4 17:16:34
查看原帖
压位高精60分wa求调+疑问
500360
tzx233楼主2025/1/4 13:03
#include<iostream>
using namespace std;
int main(){
	int n,len=1;
	int fib[5001][100];
	cin>>n;
	fib[1][1]=1;fib[2][1]=2;
	if(n<=3){
		cout<<n;
		return 0;
	}
	for(int i=3;i<=n;i++){
		for(int j=1;j<=len;j++) fib[i][j]=fib[i-1][j]+fib[i-2][j];
		for(int j=1;j<=len;j++){
			if(fib[i][j]>=1000)
			{
				fib[i][j+1]+=fib[i][j]/1000;
				fib[i][j]=fib[i][j]%1000;
				if(fib[i][len+1]) len++;
			}
		}
		for(int j=len;j>=1;j--) cout<<fib[i][j];
		cout<<endl;
	}
	for(int i=len;i>=1;i--) cout<<fib[n][i];
	return 0;
}```
顺便问一下为什么我复制题解到ide开的5000*5000数组没问题自己开这么大的数组跑的时候就会直接结束程序
2025/1/4 13:03
加载中...