結果
問題 | No.2356 Back Door Tour in Four Seasons |
ユーザー |
![]() |
提出日時 | 2025-03-26 15:53:28 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 249 ms / 2,000 ms |
コード長 | 1,284 bytes |
コンパイル時間 | 363 ms |
コンパイル使用メモリ | 82,376 KB |
実行使用メモリ | 134,692 KB |
最終ジャッジ日時 | 2025-03-26 15:54:05 |
合計ジャッジ時間 | 6,960 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 28 |
ソースコード
MOD = 998244353def main():import sysinput = sys.stdin.read().split()idx = 0N = int(input[idx])idx += 1U = []F = []W = []K_P = 0A_all = 0for _ in range(N):S = input[idx]A = int(input[idx+1])idx += 2A_all += Aif S == 'U':U.append(A)elif S == 'F':F.append(A)elif S == 'W':W.append(A)elif S == 'P':K_P += 1if N == 1:print(0)returnnumerator = (N - 2) % MODdenominator = (N - 1) % MODinv_denominator = pow(denominator, MOD - 2, MOD)x = (numerator * inv_denominator) % MODU_sum = 0for a in U:term = (1 - pow(x, a, MOD)) % MODU_sum = (U_sum + term) % MODF_sum = 0for a in F:term = (1 - pow(x, a, MOD)) % MODF_sum = (F_sum + term) % MODW_sum = 0for a in W:term = (1 - pow(x, a, MOD)) % MODW_sum = (W_sum + term) % MODpart = U_sum * F_sum % MODpart = part * W_sum % MODpart = part * K_P % MODpow_term = pow(denominator, A_all, MOD)ans = part * pow_term % MODprint(ans)if __name__ == "__main__":main()