問題一覧 > 通常問題

No.2926 Botaoshi

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 139
作問者 : 👑 KA37RI / テスター : hirayuu_yc 👑 loop0919 kusirakusira mymelochan Nyaa Uruzu tnodino
0 ProblemId : 11222 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-10-12 10:44:11

問題文

横一列に並んだ NN 本の棒があります。 棒には左から順に棒 1,2,,N1, 2, \dots, N と番号がついており、整数 ii の番号がついた棒を「棒 ii」と呼びます。 正整数 NNL,R,U,.からなる NN 文字の文字列 SS が与えられます。 あなたは一直線上に並んだ NN 本の棒をそれぞれ「左に倒す、右に倒す、倒さない」のいずれかの状態にすることができます。

NN 本の棒の倒し方が以下すべての条件に従っているとき、それは正しいと呼びます。 以下の文章では、ii1iN1 \le i \le N を満たす整数とします。

  • 右に倒れている棒であって、その右隣の棒が左に倒れているものが存在しないこと。(より厳密には、棒 kk が右に倒れ、かつ棒 k+1k+1 が左に倒れているような 1kN11 \le k \le N-1 を満たす整数 kk が存在してはならない)
  • SSii 番目の文字がLであるすべての ii について、棒 ii が左に倒れていること。
  • SSii 番目の文字がRであるすべての ii について、棒 ii が右に倒れていること。
  • SSii 番目の文字がUであるすべての ii について、棒 ii が倒れていないこと。
  • SSii 番目の文字が.であるすべての ii について、棒 ii が「左に倒れている」、「右に倒れている」、「倒れていない」のいずれかであること。

NN 本の棒の倒し方のうち、正しいものの総数を 998244353998244353 で割った余りを求めてください。 ただし棒の倒し方は、棒 ii の状態(左に倒れている、右に倒れている、倒れていない)が異なるような ii が存在するとき、またそのときに限り異なるとみなされます。

入力

整数 NN、文字列 SS が以下の形式で与えられます。

NN
SS

制約

  • NN11 以上 2×1052 \times 10^5 以下の整数
  • SSL,R,U,.からなる NN 文字の文字列

出力

答えを出力し、最後に改行してください。

サンプル

サンプル1
入力
3
..L
出力
5

棒の倒し方を文字列として表現したものを、「NN 文字の文字列であって、以下の条件をすべて満たすもの」と定めます。この方法において、ある棒の倒し方についてその文字列表現は一意に定まります。

  • ii が左に倒れているとき、ii 番目の文字はLであること。
  • ii が右に倒れているとき、ii 番目の文字はRであること。
  • ii が倒れていないとき、ii 番目の文字はUであること。

下図におけるLLL,LUL,ULL,UUL,RUL55 通りの棒の倒し方がすべての条件を満たすので、正しい棒の倒し方です。



また、下図のような棒の倒し方は条件を満たしません。

  • URL: 11 つ目の条件に違反します(棒 22 が右に倒れ、かつ棒 33 が左に倒れています)。
  • LUU: 22 つ目の条件に違反します(棒 33 が倒れていません)。
  • RLR: 11 つ目の条件に違反(棒 11 が右に倒れ、かつ棒 22 が左に倒れています)し、さらに 22 つ目の条件に違反します(棒 33 が右に倒れています)。
サンプル2
入力
6
..L..R
出力
40

サンプル3
入力
8
.RL..U..
出力
0

22 が右に倒れ、かつ棒 33 が左に倒れるように棒を倒さなければならないため、必ず 11 つ目の条件に違反します。

サンプル4
入力
30
.....R.....U...R..L.........L.
出力
144875014

正しい棒の倒し方の数を 998244353998244353 で割った余りを出力してください。

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