結果

問題 No.117 組み合わせの数
コンテスト
ユーザー fine
提出日時 2016-07-27 13:10:47
言語 PyPy2
(7.3.15)
結果
AC  
実行時間 1,693 ms / 5,000 ms
コード長 575 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 159 ms
コンパイル使用メモリ 77,304 KB
最終ジャッジ日時 2025-12-03 21:08:31
ジャッジサーバーID
(参考情報)
judge4 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 1
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

MOD = 1000000007
MAX_N = 1000000
MAX_K = 1000000
a = [1] * (MAX_N + MAX_K + 1)
b = [1] * (MAX_K + 1)

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