CSPSMK04B. 反转矩阵(reverse)
题目描述
题目描述
现有一个 的 矩阵,对于每一行,你可以选择是否将其反转,即 变为 。要求最后每一列至多有一个 ,求方案数,对 取模。
两种方案不同,当且仅当存在某一行在其中一种方案中被反转了,在另一种方案中没有被反转。
输入格式
本题有多组数据。第一行输入一个整数 表示数据组数,对于每组数据:
第一行输入两个整数 。
接下来的 行,第 行输入一个长为 的 字符串。
输出格式
每组数据输出一行一个整数,表示方案数对 取模的值。
输入样例
3
3 5
01100
10001
00010
2 1
1
1
2 3
001
001
输出样例
4
0
2
说明提示
样例说明
解释:第一组样例中,可选的行的集合为 。
输入样例 #2
1
1 1
1
输出样例 #2
2
输入样例 #3
1
2 2
00
10
输出样例 #3
4
数据范围
对于 的数据,。
对于 的数据,。
对于另外 的数据,。
对于另外 的数据,。
对于 的数据,$1\leq n,m\leq 10^6,1\leq n\times m\leq 10^6,\sum nm\leq 10^6$。