結果
| 問題 |
No.117 組み合わせの数
|
| ユーザー |
|
| 提出日時 | 2016-07-27 13:10:47 |
| 言語 | Python2 (2.7.18) |
| 結果 |
AC
|
| 実行時間 | 1,768 ms / 5,000 ms |
| コード長 | 575 bytes |
| コンパイル時間 | 142 ms |
| コンパイル使用メモリ | 7,076 KB |
| 実行使用メモリ | 101,632 KB |
| 最終ジャッジ日時 | 2024-11-06 17:56:49 |
| 合計ジャッジ時間 | 4,255 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 1 |
ソースコード
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())