记录编号 549609 评测结果 AAAAA
题目名称 [HSOI 2020] UNO 最终得分 100
用户昵称 Gravatar梦那边的美好ET 是否通过 通过
代码语言 C++ 运行时间 0.314 s
提交时间 2020-02-17 09:44:49 内存使用 26.51 MiB
显示代码纯文本
#include<bits/stdc++.h>
#define LL long long
#define maxn 2000010
using namespace std;
const LL mod=(LL)998244353;
LL n,m,k,a1[maxn],a2[maxn],ans;
LL C(int x,int y){
	if(x<0||y<0||x-y<0)return (LL)0;
    return ((a1[x]*a2[x-y])%mod*a2[y])%mod;
}
int MAIN(){
	freopen("UNO.in","r",stdin);
	freopen("UNO.out","w",stdout);
    scanf("%lld%lld%lld",&n,&m,&k);
	int fz=2*n+3; 
	a1[0]=a2[0]=a1[1]=a2[1]=(LL)1;
	for(int i=2;i<=fz;i++){
		a1[i]=(a1[i-1]*(LL)i)%mod;
		a2[i]=((mod-mod/(LL)i)*a2[mod%i])%mod;
	}
	for(int i=1;i<=fz;i++)a2[i]=(a2[i]*a2[i-1])%mod;
	for(int i=1;i<=n;i++){
		ans+=((C(n-1,i-1)*C(m-1,i-2))%mod*C(2*i,k+2*i-m-n-1))%mod;ans%=mod;
		ans+=((LL)2*(C(n-1,i-1)*C(m-1,i-1))%mod*C(2*i+1,k+2*i-m-n))%mod;ans%=mod;
		ans+=((C(n-1,i-1)*C(m-1,i))%mod*C(2*i+2,k+2*i-m-n+1))%mod;ans%=mod;
	}
	printf("%lld\n",ans);
	return 0;
} 
int hs=MAIN();
int main(){;}