U651631 简单矩阵题

题目背景

JKQ 杯 2026/05/11 T2(CF1700)。

题目描述

给定一个 $n \times m$ 的 01 矩阵,你可以对每行进行一次操作(可以不进行),翻转该行的序列,求有多少种方案使得没有一列存在两个 1,答案对 $998244353$ 取模。

输入格式

输入第 $1$ 行有 $1$ 个正整数 $T$,表示数据组数。 每组第 $1$ 行有 $2$ 个整数 $n,m$ 表示矩阵大小,后 $n$ 行每行 $m$ 个字符描述 01 矩阵。

输出格式

输出仅一行一个整数,题意中的方案数取模结果。

说明/提示

### 【样例解释 #1】: 显然无论翻转与否都不会影响矩阵的状态,又因为原矩阵合法,所以方案数 $2 ^ 3 = 8$ 种。 ### 【样例解释 #2】: 显然无论翻转与否都不会影响矩阵第 $4$ 行的状态,又因为矩阵第一行无论翻转与否,$3$ 或 $7$ 列总会存在 1,所以没有合法方案。 | 测试点 | $n,m,\sum n \times m$ | | :---: | :---: | |$1 \sim 2$|$\le 100$| |$3 \sim 4$|$\le 10 ^ 4$| |$5 \sim 10$|$\le 10 ^ 6$| |$11 \sim 32$|$\le 10 ^ 6$| 对于 $100\%$ 的数据,$1 \le T,n,m,\sum n \times m \le 10 ^ 6$。 特别说明:$11 \sim 32$ 为 2026/05/14 增加的 hack 数据,计分。