結果
問題 | No.940 ワープ ε=ε=ε=ε=ε=│;p>д<│ |
ユーザー | tpyneriver |
提出日時 | 2019-12-04 21:29:34 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 860 bytes |
コンパイル時間 | 196 ms |
コンパイル使用メモリ | 82,284 KB |
実行使用メモリ | 139,620 KB |
最終ジャッジ日時 | 2024-05-08 08:21:25 |
合計ジャッジ時間 | 17,702 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 121 ms
111,840 KB |
testcase_01 | AC | 126 ms
111,468 KB |
testcase_02 | AC | 123 ms
111,492 KB |
testcase_03 | AC | 146 ms
112,548 KB |
testcase_04 | AC | 114 ms
111,500 KB |
testcase_05 | AC | 136 ms
112,428 KB |
testcase_06 | AC | 139 ms
112,476 KB |
testcase_07 | AC | 136 ms
112,528 KB |
testcase_08 | AC | 124 ms
111,916 KB |
testcase_09 | AC | 136 ms
112,524 KB |
testcase_10 | AC | 132 ms
112,396 KB |
testcase_11 | AC | 122 ms
111,660 KB |
testcase_12 | AC | 136 ms
112,408 KB |
testcase_13 | AC | 133 ms
112,452 KB |
testcase_14 | AC | 122 ms
111,832 KB |
testcase_15 | AC | 303 ms
122,256 KB |
testcase_16 | AC | 687 ms
124,420 KB |
testcase_17 | AC | 1,297 ms
126,764 KB |
testcase_18 | RE | - |
testcase_19 | AC | 1,277 ms
126,592 KB |
testcase_20 | RE | - |
testcase_21 | AC | 893 ms
123,632 KB |
testcase_22 | RE | - |
testcase_23 | AC | 741 ms
128,732 KB |
testcase_24 | RE | - |
testcase_25 | RE | - |
testcase_26 | RE | - |
ソースコード
import sys readline = sys.stdin.readline mod = 10**9+7 def frac(limit): frac = [1]*limit for i in range(2,limit): frac[i] = i * frac[i-1]%mod fraci = [None]*limit fraci[-1] = pow(frac[-1], mod -2, mod) for i in range(-2, -limit-1, -1): fraci[i] = fraci[i+1] * (limit + i + 1) % mod return frac, fraci frac, fraci = frac(1341398) def comb(a, b): if not a >= b >= 0: return 0 return frac[a]*fraci[b]*fraci[a-b]%mod X, Y, Z = map(int, readline().split()) M = X+Y+Z+1 C = [0] + [(-1)**(M-k+1)*pow(2, k-1, mod)*comb(M, k)%mod for k in range(1, M+1)] if M & 1: C[0] = 1 for i in range(1, M+1): C[i] = (C[i] + C[i-1]) % mod ans = 0 for j in range(1, M): ans = (ans + C[j]*pow(pow(2, j, mod), mod-2, mod)*comb(X+j-1, X)*comb(Y+j-1, Y)*comb(Z+j-1, Z)) % mod if M == 1: ans = 1 print(ans%mod)