結果
問題 | No.2409 Strange Werewolves |
ユーザー |
![]() |
提出日時 | 2023-08-11 22:13:12 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 57 ms / 2,000 ms |
コード長 | 739 bytes |
コンパイル時間 | 244 ms |
コンパイル使用メモリ | 82,104 KB |
実行使用メモリ | 69,196 KB |
最終ジャッジ日時 | 2024-11-18 16:39:21 |
合計ジャッジ時間 | 1,862 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 16 |
ソースコード
import sysinput = sys.stdin.readlinedef comb_preprocess(n):fact = [1] * (n+1)fact_inv = [1] * (n+1)for i in range(1, n+1):fact[i] = i * fact[i-1] % modfact_inv[n] = pow(fact[n], mod-2, mod)for i in range(1, n+1)[::-1]:fact_inv[i-1] = i * fact_inv[i] % moddef comb(n, k):if k < 0 or n < k:return 0return fact[n] * fact_inv[k] % mod * fact_inv[n-k] % modreturn fact, fact_inv, combmod = 998244353X, Y, Z, W = map(int, input().split())human = X-Zwolf = Y-Wfact, fact_inv, comb = comb_preprocess(X+Y)ans = comb(X, human) * comb(Y, wolf) * (human if Z ==0 else wolf) * fact[human+wolf-1] % modprint(ans)