No.2837 Flip Triomino
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 83
作問者 : milkcoffee / テスター : suo ygussany
タグ : / 解いたユーザー数 83
作問者 : milkcoffee / テスター : suo ygussany
問題文最終更新日: 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もしくは右上の雲マークをクリックしてアカウントを作成してください。