为什么long long 会re?
查看原帖
为什么long long 会re?
925491
pengze36楼主2024/8/6 13:35
#include<iostream>
#include<cstdio>
#include<cstring>
#define ll long long 
using namespace std;
ll n;//
ll p;
ll f[2][4205];
int main(){
    scanf("%lld%lld",&n,&p);//
    if(p==0){
    	puts("0");
    	return 0;
	}
     f[2&1][2]=(ll)1;
     for(int i=3;i<=n;++i){
     	for(int j=2;j<=n;++j){
     		f[i&1][j]=(f[i&1][j-1]+f[(i-1)&1][(i-1)-(j-1)+1])%p;
   // f[i&1][j]=(f[i&1][j-1]+f[(i-1)&1][(i-1+1)-(j-1)])%p;
   // cout<<i<<" "<<j<<" "<<f[i&1][j]<<" "<<f[i&1][j-1]<<" "<<f[(i-1)&1][(i-1+1)-(j-1)]<<endl;
		 }
	 }
	 ll ans=0;
	 for(int i=1;i<=n;++i){//
	 	ans=(ans+f[n&1][i])%p;
	 }
	 printf("%lld\n",ans*(ll)2%p);//
	return 0;
} 

提交

2024/8/6 13:35
加载中...