問題一覧 > 通常問題

No.3040 Aoiスコア

レベル : / 実行時間制限 : 1ケース 1.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 93
作問者 : Nauclhlt🪷 / テスター : Blue_S eiram naniwazu
0 ProblemId : 11797 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2025-02-28 21:45:51

ストーリー

eiramくんはあおいさんが大好きなので、aoiの並びを見ると嬉しくなります。

問題文

各頂点に英小文字が書かれたある単純無向グラフH=(VH,EH)H=(V_H, E_H)に対して、このグラフのスコアを次のように定義します。

  • HH上の3頂点を通る単純パス(v1,e1,v2,e2,v3)(v_1, e_1, v_2, e_2, v_3)であって、次を満たすものの個数
    • 頂点v1,v2,v3v_1, v_2, v_3に書かれている文字はそれぞれa, o, iである

NN頂点MM辺の単純無向グラフGGがあります。i(1iM)i(1\leq i\leq M)番目の辺は頂点AiA_iと頂点BiB_iの間に張られた辺です。
また、英小文字と?からなる長さNNの文字列SSが与えられます。
SSに含まれる?の個数をqqとしたとき、SSに含まれる?を英小文字で置き換えてできる文字列SS'として考えられるものは26q26^q個ありますが、そのすべてに対する次の値の総和を求めてください。

  • GGの各頂点i(1iN)i(1\leq i\leq N)SiS'_iを書いてできるグラフのスコア(SS'ii文字目をSiS'_iで表す)

答えは非常に大きくなることがあるので998244353998244353で割った余りを求めてください。

入力

N MN\ M
SS
A1 B1A_1\ B_1
A2 B2A_2\ B_2
\vdots
AM BMA_M\ B_M
  • 3N60003\leq N\leq 6000
  • 0Mmin(6000,N(N1)2)0\leq M\leq \min(6000, \frac{N(N-1)}{2})
  • SSは英小文字および?からなる長さNNの文字列
  • 1Ai<BiN1\leq A_i\lt B_i\leq N
  • GGは単純無向グラフ. つまりij(Ai,Bi)(Aj,Bj)i\neq j\Leftrightarrow (A_i, B_i)\neq (A_j, B_j)かつAiBiA_i\neq B_i
  • 入力はSSを除いてすべて整数

出力

求める総和を998244353998244353で割った余りをrrとして次の形式で1行に出力してください。

rr

最後に改行してください。

サンプル

サンプル1
入力
4 4
aoio
1 2
2 3
3 4
1 4
出力
2

SS?が含まれないので、与えられたSSに対してのみ考えればよいです。
条件を満たす単純パスは1231\rightarrow 2\rightarrow 31431\rightarrow 4\rightarrow 3の2つなので、2を出力します。

サンプル2
入力
3 2
???
1 2
2 3
出力
2

S=S'=aoiまたはS=S'=ioaとした場合のみスコアが1となり、それ以外では0です。よって2を出力します。

サンプル3
入力
5 4
?ai?t
1 2
1 3
2 4
2 5
出力
26

頂点1にoが書かれなければスコアは0です。頂点1にoが書かれるとしたとき、頂点4に書く英小文字として26通りあるので、26を出力します。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。