No.3040 Aoiスコア
レベル : / 実行時間制限 : 1ケース 1.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 93
作問者 :
Nauclhlt🪷
/ テスター :
Blue_S
eiram
naniwazu
タグ : / 解いたユーザー数 93
作問者 :


問題文最終更新日: 2025-02-28 21:45:51
ストーリー
eiramくんはあおいさんが大好きなので、aoi
の並びを見ると嬉しくなります。
問題文
各頂点に英小文字が書かれたある単純無向グラフに対して、このグラフのスコアを次のように定義します。
- 上の3頂点を通る単純パスであって、次を満たすものの個数
- 頂点に書かれている文字はそれぞれ
a
,o
,i
である
- 頂点に書かれている文字はそれぞれ
頂点辺の単純無向グラフがあります。番目の辺は頂点と頂点の間に張られた辺です。
また、英小文字と?
からなる長さの文字列が与えられます。
に含まれる?
の個数をとしたとき、に含まれる?
を英小文字で置き換えてできる文字列として考えられるものは個ありますが、そのすべてに対する次の値の総和を求めてください。
- の各頂点にを書いてできるグラフのスコア(の文字目をで表す)
答えは非常に大きくなることがあるのでで割った余りを求めてください。
入力
- は英小文字および
?
からなる長さの文字列 - は単純無向グラフ. つまりかつ
- 入力はを除いてすべて整数
出力
求める総和をで割った余りをとして次の形式で1行に出力してください。
最後に改行してください。
サンプル
サンプル1
入力
4 4 aoio 1 2 2 3 3 4 1 4
出力
2
に?
が含まれないので、与えられたに対してのみ考えればよいです。
条件を満たす単純パスはとの2つなので、2
を出力します。
サンプル2
入力
3 2 ??? 1 2 2 3
出力
2
aoi
または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もしくは右上の雲マークをクリックしてアカウントを作成してください。