結果
問題 | No.117 組み合わせの数 |
ユーザー | pluto77 |
提出日時 | 2016-10-02 10:33:32 |
言語 | PyPy2 (7.3.15) |
結果 |
AC
|
実行時間 | 516 ms / 5,000 ms |
コード長 | 693 bytes |
コンパイル時間 | 2,208 ms |
コンパイル使用メモリ | 76,460 KB |
実行使用メモリ | 126,692 KB |
最終ジャッジ日時 | 2024-11-21 12:59:08 |
合計ジャッジ時間 | 3,846 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ソースコード
#yuki_117 mod=10**9+7 n=2*10**6 fact=[0 for i in xrange(n+1)] inv=[0 for i in xrange(n+1)] factr=[0 for i in xrange(n+1)] inv[1]=fact[0]=factr[0]=1 for i in xrange(2,n+1): inv[i]=inv[mod%i]*(mod-mod/i)%mod for i in xrange(1,n+1): fact[i]=fact[i-1]*i%mod factr[i]=factr[i-1]*inv[i]%mod def comb(n,k): if k<0 or k>n: return 0 return factr[k]*fact[n]%mod*factr[n-k]%mod def perm(n,k): if k<0 or k>n: return 0 return fact[n]*factr[n-k]%mod def hcomb(n,k): if n==0 and k==0: return 1 return comb(n+k-1,k) t=int(raw_input()) for i in xrange(t): s=raw_input() c=s[0] n,k=map(int,s[2:-1].split(',')) if c=='C': print comb(n,k) if c=='P': print perm(n,k) if c=='H': print hcomb(n,k)