CF1672G.Cross Xor

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

There is a grid with rr rows and cc columns, where the square on the ii -th row and jj -th column has an integer ai,ja_{i, j} written on it. Initially, all elements are set to 00 . We are allowed to do the following operation:

  • Choose indices 1ir1 \le i \le r and 1jc1 \le j \le c , then replace all values on the same row or column as (i,j)(i, j) with the value xor 11 . In other words, for all ax,ya_{x, y} where x=ix=i or y=jy=j or both, replace ax,ya_{x, y} with ax,ya_{x, y} xor 11 .

You want to form grid bb by doing the above operations a finite number of times. However, some elements of bb are missing and are replaced with '?' instead.

Let kk be the number of '?' characters. Among all the 2k2^k ways of filling up the grid bb by replacing each '?' with '0' or '1', count the number of grids, that can be formed by doing the above operation a finite number of times, starting from the grid filled with 00 . As this number can be large, output it modulo 998244353998244353 .

输入格式

The first line contains two integers rr and cc ( 1r,c20001 \le r, c \le 2000 ) — the number of rows and columns of the grid respectively.

The ii -th of the next rr lines contain cc characters bi,1,bi,2,,bi,cb_{i, 1}, b_{i, 2}, \ldots, b_{i, c} ( bi,j{0,1,?}b_{i, j} \in \{0, 1, ?\} ).

输出格式

Print a single integer representing the number of ways to fill up grid bb modulo 998244353998244353 .

输入输出样例

  • 输入#1

    3 3
    ?10
    1??
    010

    输出#1

    1
  • 输入#2

    2 3
    000
    001

    输出#2

    0
  • 输入#3

    1 1
    ?

    输出#3

    2
  • 输入#4

    6 9
    1101011?0
    001101?00
    101000110
    001011010
    0101?01??
    00?1000?0

    输出#4

    8

说明/提示

In the first test case, the only way to fill in the ?\texttt{?} s is to fill it in as such:

010111010This can be accomplished by doing a single operation by choosing (i,j)=(2,2)(i,j)=(2,2) .

In the second test case, it can be shown that there is no sequence of operations that can produce that grid.

首页