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