問題一覧 > 通常問題

No.2837 Flip Triomino

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 83
作問者 : milkcoffeemilkcoffee / テスター : suosuo ygussanyygussany
6 ProblemId : 11206 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-08-03 20:23:50

問題文

$N$ 行 $M$ 列のグリッドについて、 $i$ 行目 $j$ 列目にあるマスを $(i,j)$ と呼ぶことにします。

以下の操作を繰り返すことで、全てのマスの色を白にすることができるような色のグリッドを 良いグリッド と定義します。

  • 以下 $4$ 種類いずれかの図形 (ただし回転不可) で囲まれるような $3$ マスを選び、それらの色を反転させる。

    厳密には、以下のいずれかの操作を行う。
    • 整数 $x,y \ (1 \leq x \leq N-2, \ 1 \leq y \leq M)$ を選び、$3$ つのマス $(x,y),(x+1,y),(x+2,y)$ の色を反転させる。
    • 整数 $x,y \ (1 \leq x \leq N, \ 1 \leq y \leq M-2)$ を選び、$3$ つのマス $(x,y),(x,y+1),(x,y+2)$ の色を反転させる。
    • 整数 $x,y \ (1 \leq x \leq N-1, \ 1 \leq y \leq M-1)$ を選び、$3$ つのマス $(x,y),(x+1,y),(x+1,y+1)$ の色を反転させる。
    • 整数 $x,y \ (1 \leq x \leq N-1, \ 1 \leq y \leq M-1)$ を選び、$3$ つのマス $(x,y),(x,y+1),(x+1,y+1)$ の色を反転させる。

$N$ 行 $M$ 列のグリッドが与えられます。与えられるグリッドの各マスは白か黒で塗られているか、色が塗られていないかです。

$S_{i,j}$ が W, B ならば $(i,j)$ はそれぞれ白, 黒 で塗られたマス、? ならば色が塗られていないマスです。

与えられるグリッドの色が塗られていない各マスを 白 または 黒 で塗る方法であって、塗った後のグリッドが 良いグリッド となる塗り方の数を $998244353$ で割ったあまりを求めて下さい。

入力

$N$ $M$
$S_{1,1}S_{1,2}\ldots S_{1,M}$
$\vdots$
$S_{N,1}S_{N,2}\ldots S_{N,M}$

  • $3 \leq N,M \leq 500$
  • $N,M$ は整数
  • $S_{i,j}$ は W,B,? のいずれか

出力

答えを整数で出力してください。

サンプル

サンプル1
入力
3 4
??BW
WBBW
WWWW
出力
1

$(1,1),(1,2)$ の $2$ つが色が塗られていないマスであるため、色の塗り方は全部で $2^2=4$ 通りあります。

$(1,1)$ を黒、$(1,2)$ を白で塗る場合、下図のように $2$ 回の操作で全てのマスを白にできるため良いグリッドです。

良いグリッドとなるような塗り方はこの $1$ 通りだけです。

サンプル2
入力
3 3
WWW
WBW
BBW
出力
0

与えられるグリッドは良いグリッドではありません。色を反転させる図形は回転できないことに注意してください。

サンプル3
入力
12 30
WW?W?BW??B??WBWBW?WWWWB?WBWWWW
BBB?WBBWWBBWW?WW?BWBWW?WBWW?WW
WBBBW?BW?WB?BWBWWWBBBWWWWB??WB
WW?WWBWWWWB?B?BBBWB?BBB?BB?W??
B?BB?WWBWWBW?BWBBBWWBBBB??B??B
WWBWWBWBWWW??W?WBBBWWWWW?WW?WW
WWWBB?B?BWB?WBWBW?W?BBBWB?WBBW
??BBWWBWW?WWBBBW?WWBWW?BWBBBWW
WBW?WW?B??BW?BWWBBBW?WWWWB??BB
W?BW?BWWBB?BW??BWWWWBB??BW?BWB
?WWW?WB?WWBBBWWBBBWWBW?BBWW?BB
?WWWBWBBWWWBWWWBBWWWB?WW?BWBWB
出力
511566473

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