結果
| 問題 |
No.2356 Back Door Tour in Four Seasons
|
| コンテスト | |
| ユーザー |
とりゐ
|
| 提出日時 | 2023-06-16 22:56:56 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 233 ms / 2,000 ms |
| コード長 | 681 bytes |
| コンパイル時間 | 169 ms |
| コンパイル使用メモリ | 82,224 KB |
| 実行使用メモリ | 93,008 KB |
| 最終ジャッジ日時 | 2024-06-24 15:56:32 |
| 合計ジャッジ時間 | 6,797 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 28 |
ソースコード
mod=998244353
n=int(input())
inv=pow(n-1,mod-2,mod)
U=[]
F=[]
W=[]
P=[]
for _ in range(n):
s,a=input().split()
a=int(a)
if s=='U':
U.append(a)
if s=='F':
F.append(a)
if s=='W':
W.append(a)
if s=='P':
P.append(a)
X=n-1
Y=n-2
m=10**5+10
powX=[1]*m
powY=[1]*m
powinv=[1]*m
for i in range(1,m):
powX[i]=powX[i-1]*X%mod
powY[i]=powY[i-1]*Y%mod
powinv[i]=powinv[i-1]*inv%mod
u=0
for i in U:
u+=(powX[i]-powY[i])*powinv[i]%mod
u%=mod
f=0
for i in F:
f+=(powX[i]-powY[i])*powinv[i]%mod
f%=mod
w=0
for i in W:
w+=(powX[i]-powY[i])*powinv[i]%mod
w%=mod
sm=sum(U)+sum(F)+sum(W)+sum(P)
ans=u*f*w*pow(n-1,sm,mod)%mod
ans*=len(P)
print(ans%mod)
とりゐ