30分求助

P2822 [NOIP2016 提高组] 组合数问题

大佬求助,悬赏1关
by dingronghan01 @ 2023-05-07 16:52:52


e
by Sundar_2022 @ 2023-05-09 20:31:58


@[dingronghan01](/user/657904) ```cpp #include <bits/stdc++.h> using namespace std; int t,k,n,m; int a[2005][2005],ans[2005][2005]; void Hanghui() { a[0][0]=a[1][0]=a[1][1]=1; for(int i=2;i<=2000;i++){ a[i][0]=1; for(int j=1;j<=i;j++){ a[i][j]=(a[i-1][j]+a[i-1][j-1])%k; ans[i][j]=ans[i-1][j]+ans[i][j-1]-ans[i-1][j-1]; if(a[i][j]==0) ans[i][j]+=1; } ans[i][i+1]=ans[i][i]; } } int main() { scanf("%d%d",&t,&k); Hanghui(); while(t--) { scanf("%d%d",&n,&m); printf("%d\n",ans[n][min(n,m)]); } return 0; } ```
by Sundar_2022 @ 2023-05-09 20:49:56


谢谢,虽然我A了
by dingronghan01 @ 2023-06-23 16:28:51


|