A92170.集合覆盖
普及-
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
题目描述
有 M 个集合 S1,S2,…,SM,每个集合中的元素都是 1 到 N 之间的整数。
其中第 i 个集合 Si 一共有 Ci 个元素,分别为 ai,1,ai,2,…,ai,Ci。
现在从这 M 个集合中任选至少一个集合进行选择,一共有 (2M−1) 种选法。
请你统计:有多少种选法能满足下面的要求?
- 对任意整数 x(1≤x≤N),至少存在一个被选中的集合包含 x。换句话说,被选集合的并集需要覆盖 1,2,…,N。
限制因素
- 1≤N≤10
- 1≤M≤10
- 1≤Ci≤N
- 1≤ai,1<ai,2<⋯<ai,Ci≤N
- 输入值均为整数。
输入格式
输入
输入内容由标准输入法提供,格式如下
N M
C1
a1,1 a1,2 … a1,C1
C2
a2,1 a2,2 … a2,C2
⋮
CM
aM,1 aM,2 … aM,CM
输出格式
输出
打印满足问题陈述中条件的集合的选择方式数。
输入输出样例
输入#1
3 3 2 1 2 2 1 3 1 2
输出#1
3
输入#2
4 2 2 1 2 2 1 3
输出#2
0
输入#3
6 6 3 2 3 6 3 2 4 6 2 3 6 3 1 5 6 3 1 3 6 2 1 4
输出#3
18
说明/提示
样例一解释
输入中给出的集合为 S1={1,2},S2={1,3},S3={2} 。
下列三种方法满足问题陈述中的条件:
- 选择 S1,S2 ;
- 选择 S1,S2,S3 ;
- 选择 S2,S3 。