去博客看大图
#include<bits/stdc++.h>
using namespace std;
const int mod=998244353,T=5e3+10,N=1e3+10;
typedef long long ll;
ll f[T+10][T+10],c[N<<1][N<<1],n,x,y,t,a,b;
int main(){
//ios::sync_with_stdio(false);
f[0][0]=1;
for(int t=1;t<T;t++){
f[t][0]=1;
for(int i=1;i<=t;i++){
f[t][i]=(f[t-1][i-1]+f[t-1][i])%mod;
}
}
for(int i=0;i<N<<1;i++){
c[i][0]=c[i][i]=1;
for(int j=1;j<i;j++){
c[i][j]=(c[i-1][j]+c[i-1][j-1])%mod;
}
}
for(scanf("%d",&n);n--;){
scanf("%d%d%d",&x,&y,&t);
if(x+y>t) puts("0");
else{
b=x+y;
a=x;
printf("%lld\n",c[b][a]*f[t][b]%mod);
}
}
} 是不是好简单,之前用C(n,m)=n!/m!(m-n)!+逆元算gg了,后面看别人直接打表杨辉三角算了下才1e6,

京公网安备 11010502036488号