結果

問題 No.117 組み合わせの数
コンテスト
ユーザー john_doe_113
提出日時 2015-06-27 04:18:03
言語 PyPy2
(7.3.15)
結果
WA  
実行時間 -
コード長 627 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 116 ms
コンパイル使用メモリ 77,348 KB
最終ジャッジ日時 2025-12-03 15:44:14
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other WA * 1
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

mo,mx=[1000000007,2000000]

I,F,R=[[0 for i in range(mx+1)]for i in range(3)]
I[1]=F[0]=R[0]=1
for i in range(2,mx+1):
    I[i]=(mo-mo/i*I[mo%i]%mo)%mo
for i in range(1,mx+1):
    F[i]=(F[i-1]*i)%mo;
    R[i]=(R[i-1]*I[i])%mo;

n=input()
s=[raw_input() for i in range(n)]

n1,n2=[0,0]
for i in range(n):
    n1,n2=[int(s[i][2:s[i].index(",")]),int(s[i][s[i].index(",")+1:s[i].index(")")])]
    if s[i][0]=="C":
        print 0 if n1<n2 else (F[n1]*R[n1-n2]%mo)*R[n2]%mo
    elif s[i][0]=="P":
        print 0 if n1<n2 else F[n1]*R[n1-n2]%mo
    elif s[i][0]=="H":
        print 1 if n1==n2 else (F[n1+n2-1]*R[n1-1]%mo)*R[n2]%mo
0