問題一覧 > 通常問題

No.3098 Linear Reversi

レベル : / 実行時間制限 : 1ケース 4.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 14
作問者 : RiRinbaru / テスター : autumn09 downer hamo21 👑 ygussany Yotugi
1 ProblemId : 11592 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2025-04-06 13:28:00

問題文

横 $N$ マス縦 $1$ マスのオセロ盤があります。オセロ盤の左から $i$ マス目を $A_i$ とおきます。最初、オセロ盤にコマは置かれていません。
あなたは、マスのうちまだコマが置かれていないものを $1$ つずつ選び、黒白どちらを上にするかを自由に決めたうえで、オセロのコマを $1$ つずつ置く操作を $N$ 回行います。この際、コマの上を向いている色のことを「コマの色」と呼ぶことにします。このコマの色はオセロのルールと同様に入れ替わります。

具体的には、マス目 $A_x$ , $A_{x+1}$ , $...$ $A_{y-1}$ , $A_y$ について、

  • $A_y$ を除く全てにコマが乗っておりそのうち $A_x$ のもののみが異なる色である状態のときに、 $A_y$ に $A_x$ 上のコマの色と同じ色を上にした状態でコマを置くと、 $A_{x+1}$ , $A_{x+2}$ , $...$ $A_{y-1}$ 上のコマの色が $A_y$ のものと等しくなる。
  • $A_x$ を除く全てにコマが乗っておりそのうち $A_y$ のもののみが異なる色である状態のときに、 $A_x$ に $A_y$ 上のコマの色と同じ色を上にした状態でコマを置くと、 $A_{x+1}$ , $A_{x+2}$ , $...$ $A_{y-1}$ 上のコマの色が $A_x$ のものと等しくなる。
というルールが働きます。 通常のオセロと異なり、同じ色が上になったコマを連続して置くことや、コマの色が入れ替わらない場所に置くことができることに注意してください。

文字列 $S$ が与えられます。 $S$ の $i$ 文字目について、

  • o であれば $A_i$ にはコマが白を上に向けて置かれている
  • x であれば $A_i$ にはコマが黒を上に向けて置かれている
  • ? であれば $A_i$ のコマの色は欠けていてわからない
ことを表しています。

欠けた部分の個数を $M$ 個としたときにそこを白か黒のコマで埋めるとしてその埋め方は $2^M$ ありますが、そのうち上のルールによって実現可能な最終配置の個数を $998244353$ で割ったあまりを求めてください。

入力

入力は以下の形式で標準入力から与えられる。
$N$
$S$
  • $1≦N≦10^6$
  • $|S|=N$
  • 入力はすべて整数

出力

実現可能なオセロ盤の盤面の個数を $998244353$ で割ったあまりを求めてください。 最後に改行してください。

サンプル

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

サンプル2
入力
5
ox??o
出力
3

サンプル3
入力
10
??????????
出力
488

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