为什么我自己算5000都对的上,提交还是只能过6个,祈求大佬
查看原帖
为什么我自己算5000都对的上,提交还是只能过6个,祈求大佬
1061319
spirittingle楼主2024/12/7 14:31
#include<iostream>
using namespace std;
long long dp[100][5001];
const  long  long MOD=1000000000000000;;
int main()
{
    int n;
    cin>>n;
    
    dp[0][0]=1;
    dp[0][1]=2;
    for(int i=2;i<n;i++){
        
        dp[0][i]=(dp[0][i-1]+dp[0][i-2])%MOD;
        long long  c=(dp[0][i-1]+dp[0][i-2])/MOD;
        for(int k=1;k<100;k++){
        	dp[k][i]=(c+dp[k][i-1]+dp[k][i-2])%MOD;
        	c=(c+dp[k][i-1]+dp[k][i-2])/MOD;
		}
       
    }
    for(int i=99;i>=0;i--){
    	if(dp[i][n-1]>0){
    		for(int j=i;j>=0;j--){
    			cout<<dp[j][n-1];
			}
			break;
		}
	}
   return 0; 
}
2024/12/7 14:31
加载中...