結果
問題 |
No.1044 正直者大学
|
ユーザー |
![]() |
提出日時 | 2020-05-01 22:38:42 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 523 bytes |
コンパイル時間 | 182 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 79,488 KB |
最終ジャッジ日時 | 2024-12-25 13:28:20 |
合計ジャッジ時間 | 3,112 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 27 WA * 1 |
ソースコード
n,m,k=map(int,input().split()) if n+m-1<=k: print(0) quit() mod=10**9+7 if m>n: n,m=m,n N=n fac=[1]*(N+3) inv=[1]*(N+3) t=1 for i in range(1,N+3): t*=i t%=mod fac[i]=t t=pow(fac[N+2],mod-2,mod) for i in range(N+2,0,-1): inv[i]=t t*=i t%=mod def comb(n,r): if r>n or r<0: return 0 return fac[n]*inv[n-r]*inv[r]%mod ans=fac[n-1]*n*fac[m] for i in range(2,m+1): if n+m-i*2<k: break ans+=fac[n-1]*comb(n,i)%mod*fac[m]*comb(m-1,i-1)%mod ans%=mod print(ans)