#CF2146B. 合并集合
合并集合
B. 合并集合 每次测试时间限制:1 秒 每次测试内存限制:256 兆字节
给定 个集合 ,每个集合中的元素都是 到 之间的整数。
你需要选择其中的某些集合(可以一个都不选,也可以全部选),使得 到 之间的每个整数都至少出现在一个被选中的集合中。
你需要判断是否存在至少 种不同的选择集合的方式。
输入格式 每个测试包含多个测试用例。第一行包含一个整数 (),表示测试用例的数量。
接下来是每个测试用例的描述:
第一行包含两个整数 和 (,)—— 集合的数量以及集合中整数的上限。
接下来 行,第 行首先包含一个整数 ()—— 集合 的大小。
然后在该行中紧随其后有 个整数 ()—— 集合 中的元素。
设 。数据保证:
- 所有测试用例的 之和不超过 ;
- 所有测试用例的 之和不超过 ;
- 所有测试用例的 之和不超过 。
输出格式
对于每个测试用例,如果存在至少 种选择集合的方式,输出 "YES",否则输出 "NO"。
你可以以任何大小写输出答案。例如,"yEs"、"yes"、"Yes" 和 "YES" 都会被识别为肯定响应。
示例 输入
6
3 2
2 1 2
1 1
1 2
4 10
3 1 2 3
2 4 5
1 6
4 7 8 9 10
2 5
4 1 2 3 4
4 1 2 3 4
5 5
5 1 2 3 4 5
5 1 2 3 4 5
5 1 2 3 4 5
5 1 2 3 4 5
5 1 2 3 4 5
5 10
4 1 2 3 4
5 1 2 5 6 7
5 2 6 7 8 9
4 6 7 8 9
2 9 10
5 5
1 1
1 2
1 3
2 4 5
1 5
输出
YES
NO
NO
YES
YES
NO
说明 在第一个测试用例中,有 种可能的选择集合的方式:
· 只选 —— 和 都包含在 中; · 选 和 —— 包含在 和 中, 包含在 中; · 选 和 —— 包含在 中, 包含在 和 中; · 选 和 —— 包含在 中, 包含在 中; · 选 、 和 —— 包含在 和 中, 包含在 和 中。
注意,只选 是无效的,因为 没有包含在 中。
在第二个测试用例中,唯一的方式是选择所有集合。
在第三个测试用例中, 没有出现在任何集合中,因此不存在选择集合的方式。
在第四个测试用例中,选择任何非空集合集合都是有效的,所以方式的数量为 。