60分求助
查看原帖
60分求助
1129347
CY_hello_L楼主2024/5/3 19:42
#include<bits/stdc++.h>
using namespace std;
int c[2005][2005];
int ans[2005][2005];
int main(){
	int t,k;
	int n,m,num=0;
	cin>>t>>k;
	c[0][0]=1;
	c[1][0]=1;
	c[1][1]=1;
	for(int i=0;i<=2000;i++){
		c[i][0]=1;
		for(int j=1;j<=i;j++){
			c[i][j]=(c[i-1][j-1]%k+c[i-1][j]%k)%k;
			ans[i][j]=ans[i-1][j]+ans[i][j-1]-ans[i-1][j-1];
			if(!c[i][j]) ans[i][j]++;
		}
		ans[i][i+1]=ans[i][i];
	}
	for (int q=1;q<=t;q++)
	{
		int n,m;
		cin >> n >> m;
		cout << ans[n][m] << endl;
	}
	return 0;
}
2024/5/3 19:42
加载中...