SP9516 XOREQ - XOR Equations
题目描述
最近,吉米在蓝玛丽的指导下学习线性代数,同时还在教授 Z 的课堂上学习布尔代数。由于对两个老师布置的一成不变的作业感到无聊,淘气的吉米决定出一道难题来为难他们,以报复那些繁重的作业任务。所以,吉米想了个办法,把两门课的知识结合起来,设计出一个复杂的问题:异或方程组。
让我们来看如下方程组:

该方程组满足以下条件:

在这个方程组中,**.** 表示乘法运算,而 **^** 表示按位异或。按位异或操作是对长度相同的位模式,逐位进行异或运算:若两个对应的位不同,则结果为 1;若相同,则结果为 0。
吉米并不想直接要求方程组的解,而是让老师们计算出给定方程组有多少种不同的解。这确实是个棘手的难题!请帮助吉米的老师们解题吧!
输入格式
输入由多个测试用例组成。第一行是一个正整数(不超过 15),表示测试用例的数量,接下来是每个测试用例的具体数据。
对于每个测试用例,首先输入一行包含两个整数 $N$ 和 $M$,分别代表方程组的行数和列数。接下来的 $N$ 行,每行有 $M$ 个整数,第 $i$ 行第 $j$ 列的整数代表 $a_{ij}$。之后有 $M$ 行,每行描述了一个集合 $S_i$,第一个整数 $K$ 表示集合中元素的数量,接下来的 $K$ 个整数是这些元素。
输出格式
对于每个测试用例,输出一行,其中包含一个整数,表示该测试用例的解的数量。
**本翻译由 AI 自动生成**