結果
問題 | No.117 組み合わせの数 |
ユーザー |
|
提出日時 | 2024-06-15 21:22:44 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 938 bytes |
コンパイル時間 | 603 ms |
コンパイル使用メモリ | 82,164 KB |
実行使用メモリ | 220,408 KB |
最終ジャッジ日時 | 2024-06-15 21:22:49 |
合計ジャッジ時間 | 3,707 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | RE * 1 |
ソースコード
MOD = 10 ** 9 + 7def main():fact = [1]for i in range(1, 10 ** 6 + 1):fact.append(fact[-1] * i % MOD)inv = []for f in fact:inv.append(pow(f, MOD - 2, MOD))t = int(input())for _ in range(t):s = input()n, k = list(map(int, s[2:-1].split(",")))if s[0] == "C":if k > n:ans = 0else:ans = fact[n] * inv[k] % MOD * inv[n - k] % MODelif s[0] == "P":if k > n:ans = 0else:ans = fact[n] * inv[n - k] % MODelif s[0] == "H":if n == 0:if k == 0:# ????ans = 1else:ans = 0else:# C(n + k - 1, k)ans = fact[n + k - 1] * inv[k] % MOD * inv[n - 1] % MODprint(ans)main()