結果
問題 | No.117 組み合わせの数 |
ユーザー | Tawara |
提出日時 | 2015-12-27 03:29:58 |
言語 | PyPy2 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 405 bytes |
コンパイル時間 | 1,419 ms |
コンパイル使用メモリ | 76,544 KB |
実行使用メモリ | 202,732 KB |
最終ジャッジ日時 | 2024-09-19 07:19:36 |
合計ジャッジ時間 | 2,443 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ソースコード
import re p=re.compile(r'\(|\)|,') M=10**9+7;U=2000001;F=[1] for i in xrange(1,U):F+=[(i*F[i-1])%M] FI=[pow(F[U-1],M-2,M)] for i in xrange(1,U):FI+=[(U-i)*FI[i-1]%M] for i in xrange(input()): q=p.split(raw_input());N,K=map(int,q[1:3]) if q[0]=="H": A = 1 if K==0 else F[N-1+K]*FI[U-N]*FI[U-1-K]%M*(N!=0) else: A = 0 if N < K else FI[U-1-K]**(q[0]=='C')*F[N]*FI[U-1-N+K]%M print A