RE求调
查看原帖
RE求调
1210039
liyilinlyl楼主2025/1/22 23:41

编译器显示RE了,自己肉眼查了半天也没查出错,求助。谢谢各位。

#include<iostream>
#include<cmath>
#define ll int
using namespace std;
const ll N=2e3+3;
ll dp[N][N],ans[N][N],k;
ll read(){
	ll res=0,f=1;
	char ch;
	while((ch=getchar())<'0'||ch>'9'){
		if(ch=='-')f=-1;
	}
	while(ch>='0'&&ch<='9'){
		res=res*10+ch-'0';
		ch=getchar();
	}
	return res*f;
}
void DP(){
	dp[0][0]=dp[1][0]=dp[1][1]=1;
	for(ll i=2;i<=2000;i++){
		dp[i][0]=1;
		for(ll j=1;j<=i;j++){
			dp[i][j]=(dp[i-1][j-1]+dp[i-1][j])%k;
			ans[i][j]=ans[i-1][j]+ans[i][j-1]-ans[i-1][j-1];
			if(!dp[i][j])ans[i][j]++;
		}
		ans[i][i+1]=ans[i][i];
	}
}
void C(ll n,ll m){
	if(m>n){
		cout<<ans[n][n]<<endl;
	}
	else cout<<ans[n][m]<<endl;
}
int main()
{
	ll T=read(),k=read();
	DP();
	while(T--){
		ll n=read(),m=read();
		C(n,m);
	}
	
	return 0;
}
2025/1/22 23:41
加载中...