atcoder#YAHOOPROCON2019QUALE. Odd Subrectangles

Odd Subrectangles

配点 : 800800

問題文

NNMM 列のマス目があります。 各マスには 00 または 11 の整数が書かれていて、上から ii 行目、左から jj 列目に書かれている整数は aija_{ij} です。

行の部分集合 AA と列の部分集合 BB の組 2N+M2^{N+M} 通りのうち、以下の条件を満たすものの個数を 998244353998244353 で割ったあまりを求めてください。

  • AA に属する行と BB に属する列の交わりに属する AB|A||B| 個のマスに書かれた整数の総和が奇数である

制約

  • 1N,M3001 \leq N,M \leq 300
  • 0ai,j1(1iN,1jM)0 \leq a_{i,j} \leq 1(1\leq i\leq N,1\leq j\leq M)
  • 入力はすべて整数である

入力

入力は以下の形式で標準入力から与えられる。

NN MM

a11a_{11} ...... a1Ma_{1M}

::

aN1a_{N1} ...... aNMa_{NM}

出力

行の部分集合 AA と列の部分集合 BB の組のうち、条件を満たすものの個数を 998244353998244353 で割ったあまりを出力せよ。

2 2
0 1
1 0
6

例えば、AA として 11 行目のみを選び、BB として 1,21,2 列目を選んだとき、その交わりに属するマスに書かれた整数の和は 0+1=10+1=1 になります。

2 3
0 0 0
0 1 0
8