結果

問題 No.3040 Aoiスコア
ユーザー N-noa21
提出日時 2025-02-28 22:16:03
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,319 bytes
コンパイル時間 416 ms
コンパイル使用メモリ 82,276 KB
実行使用メモリ 77,896 KB
最終ジャッジ日時 2025-02-28 22:16:22
合計ジャッジ時間 2,952 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 9 WA * 15
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

N,M = map(int, input().split())
S = list(input())
edge = [[] for i in range(N)]
mod = 998244353
for i in range(M):
a,b = map(int, input().split())
a-=1;b-=1
edge[a].append(b)
edge[b].append(a)
hatena_sum = S.count("?")
ans = 0
for i in range(N):
if S[i] == "o" or S[i] == "?":
a_cnt = 0
i_cnt = 0
hatena_cnt = 0
for _next in edge[i]:
if S[_next] == "a":
a_cnt += 1
elif S[_next] == "i":
i_cnt += 1
else:
hatena_cnt += 1
if S[i] == "o":
ans += a_cnt * i_cnt * pow(26,hatena_sum,mod)#?
ans += hatena_cnt * a_cnt * pow(26,hatena_sum-1,mod)#?i
ans += hatena_cnt * i_cnt * pow(26,hatena_sum-1,mod)#?a
ans += hatena_cnt * (hatena_cnt-1) * pow(26,hatena_sum-2,mod)#??
ans %= mod
else:#?o使
ans += a_cnt * i_cnt * pow(26,hatena_sum-1,mod)#?
ans += hatena_cnt * a_cnt * pow(26,hatena_sum-2,mod)#?i
ans += hatena_cnt * i_cnt * pow(26,hatena_sum-2,mod)#?a
ans += hatena_cnt * (hatena_cnt-1) * pow(26,hatena_sum-3,mod)#??
ans %= mod
print(ans%mod)
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0