灵异事件
查看原帖
灵异事件
611878
sunqihuan楼主2025/1/18 09:05

我写出了如下代码:

#include<bits/stdc++.h>
using namespace std;
const int N=2000;
int T,k,n,m,c[2005][2005],ans[2005][2005];
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin>>T>>k;
	for(int i=0;i<=N;i++){
		for(int j=0;j<=i;j++){
			if(j==0 || j==i)c[i][j]=1;
			else c[i][j]=(c[i-1][j-1]+c[i-1][j])%k;
		}
	}
	for(int i=0;i<=N;i++){
		for(int j=0;j<=N;j++){
			if(j<=i)ans[i][j]=ans[i-1][j]+ans[i][j-1]-ans[i-1][j-1]+(c[i][j]%k==0);
			else ans[i][j]=ans[i][i];
		}
	}
	while(T--){
		cin>>n>>m;
		cout<<ans[n][min(n,m)]<<"\n";
	}
	return 0;
}


然后一分不得。然后我下载了第一个数据点,发现在本机上输入是能得到正确的输出的!有巨佬可以解释一下吗??

2025/1/18 09:05
加载中...