给 n 个整数集合,每个集合内的元素在 1~m 之间。对它们进行任意的集合并运算,编程计算它们最多可以产生多少不同的集合(包括原有的集合)。
第一行为正整数 t(≤5),表示测试数据组数;
每组数据中,第一行为 n(≤100)和 m(≤15),接下来 n 行,每行若干正整数,第一个正整数 c(≤m),表示对应集合中的元素个数,接下来 c 个不同正整数 ai(≤m),分别表示对应集合中的元素。
对于每组数据,输出并运算后的不同集合数。
2 4 4 1 1 1 2 1 3 1 4 2 4 3 1 2 3 4 1 2 3 4
15 2
样例 1 中,四个集合分别是{1}{2}{3}{4},它们做集合并运算后可以生成{1}{2}{3}{4}{1,2}{1,3}{1,4}{2,3}{2,4}{3,4}{1,2,3}{1,2,4}{1,3,4}{2,3,4}{1,2,3,4},一共15个不同集合;
样例2中,两个集合分别是{1,2,3}{1,2,3,4},它们做集合并运算只能生成这 2 个不同集合。
时间限制 | 1 秒 |
内存限制 | 128 MB |