开始: 2023-10-18 13:15:00

1018模拟赛周赛06

结束: 2023-10-18 15:25:00
当前  2025-01-24 17:51:46  类型: OI  状态: 已经结束 

P3. 集合的并 (sunion)
描述

给 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
提交