#P2303. [ABC128C] Switches

[ABC128C] Switches

题目描述

nn 个开关和 mm 个灯泡,每个开关都处于 “开” 和 “关” 状态中的一种。开关从 11nn 编号,灯泡从 11mm 编号。

ii 号灯泡连接着 kik_i 个开关:开关 si,1s_{i,1}si,2s_{i,2},...,si,kis_{i,k_i}。当这些开关中,处于 “开” 状态的开关数量之和模 22pip_i 时,这个灯泡就会被点亮。

有多少 “开” 和 “关” 的组合,可以点亮所有灯泡?

输入格式

第一行两个正整数 n,mn, m1n,m101\le n,m \le 10

接下来 mm 行,每行第一个整数为 kik_i,接下来 kik_i 个整数 si,js_{i, j}1kin1 \le k_i \le n1si,jn1 \le s_{i,j} \le nsi,asi,b(ab)s_{i,a} \neq s_{i,b} (a \neq b)

最后一行 mm 个整数 pip_ipip_i 只能是 0011

输出格式

输出一个数,表示有多少总组合方案可以点亮所有灯泡。

2 2
2 1 2
1 2
0 1
1
  • 灯泡 11 当以下开关里开着的总数是偶数时会亮:开关 1122
  • 灯泡 22 当以下开关里开着的总数是奇数是会亮:开关 22

开关 1122 一共组成了四种组合:(开,开),(开,关),(关,开)和(关,关)。其中只有(开,开)满足要求,所以输出 11

2 3
2 1 2
1 1
1 2
0 0 1
0
  • 灯泡 11 当以下开关里开着的总数是偶数时会亮:开关 1122
  • 灯泡 22 当以下开关里开着的总数是偶数时会亮:开关 11
  • 灯泡 33 当以下开关里开着的总数是奇数时会亮:开关 22

为了点亮灯泡 22,开关 11 必须是关着的;为了点亮灯泡 33,开关 22 必须是开着的。但这样灯泡 11 就不能被点亮了。所以,没有组合能让所有灯泡亮起来,故输出 00

5 2
3 1 2 5
2 2 3
1 0
8