結果

問題 No.117 組み合わせの数
ユーザー finefine
提出日時 2016-07-27 13:03:31
言語 Python2
(2.7.18)
結果
AC  
実行時間 1,590 ms / 5,000 ms
コード長 559 bytes
コンパイル時間 50 ms
コンパイル使用メモリ 6,912 KB
実行使用メモリ 101,760 KB
最終ジャッジ日時 2024-04-24 10:20:16
合計ジャッジ時間 3,661 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1,590 ms
101,760 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

MOD = 1000000007
MAX_N = 1000000
MAX_K = 1000000
a = [1] * 2000001
b = [1] * 1000001

for i in xrange(1,MAX_N + MAX_K + 1):
    a[i] = (i * a[i - 1]) % MOD 

b[MAX_K] = pow(a[MAX_K], MOD - 2, MOD)
for i in reversed(xrange(1, MAX_K + 1)):
    b[i - 1] = b[i] * i % MOD

def P(x,y):
    if x < y:
        return 0
    else:
        return a[x] * b[x - y] % MOD

def C(x,y):
    return P(x,y) * b[y] % MOD

def H(x,y):
    if x == 0 and y == 0:
        return 1
    else:
        return C(x + y - 1,y)

t = input()
for i in xrange(t):
    print eval(raw_input())
0