結果
問題 | No.3040 Aoiスコア |
ユーザー |
![]() |
提出日時 | 2025-02-28 21:51:42 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 91 ms / 1,000 ms |
コード長 | 720 bytes |
コンパイル時間 | 522 ms |
コンパイル使用メモリ | 82,632 KB |
実行使用メモリ | 77,680 KB |
最終ジャッジ日時 | 2025-06-20 20:56:56 |
合計ジャッジ時間 | 2,726 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 |
ソースコード
N,M=map(int, input().split()) S=input() D=[[0]*4 for i in range(N)] for _ in range(M): a,b=map(int, input().split()) a-=1;b-=1 SS='aoi?' for i in range(4): if S[b]==SS[i]: D[a][i]+=1 for i in range(4): if S[a]==SS[i]: D[b][i]+=1 e=S.count('?') mod=998244353 ans=0 for i in range(N): a,b,c,d=D[i] if S[i]=='o': ans+=a*c*pow(26,e,mod) ans%=mod ans+=d*c*pow(26,e-1,mod) ans%=mod ans+=a*d*pow(26,e-1,mod) ans%=mod ans+=d*(d-1)*pow(26,e-2,mod) ans%=mod if S[i]=='?': ans+=a*c*pow(26,e-1,mod) ans%=mod ans+=d*c*pow(26,e-2,mod) ans%=mod ans+=a*d*pow(26,e-2,mod) ans%=mod ans+=d*(d-1)*pow(26,e-3,mod) ans%=mod print(ans)