示例1:
输入
5
2 2 2
3 3 2
4 4 2
5 3 3
5 5 3
输出
1
6
20
6
69
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int M=998244353;
const int maxn=2e6+10;
int f[maxn],nf[maxn],inv[maxn],__,n,m,k,ans;
int C(int x,int y){return 1ll*f[x]*nf[y]%M*nf[x-y]%M;}
int main(){
inv[1]=1; for (int i=2;i<maxn;i++) inv[i]=M-1ll*(M/i)*inv[M%i]%M;
f[0]=nf[0]=1;
for (int i=1;i<maxn;i++)
f[i]=1ll*f[i-1]*i%M,nf[i]=1ll*inv[i]*nf[i-1]%M;
cin >> __;
while (__--){
cin >> n >> m >> k; ans=0;
for (int i=k;i<=min(n,m);i++)
ans=(ans+1ll*C(i-1,k-1)*C(n-i+k-1,k-1)%M*C(m-i+k-1,k-1))%M;
cout << ans << endl;
}
return 0;
}