#ABC302F. 合并集合

合并集合

合并集合

题目描述

黑板上写有 NN 个集合 S1,S2,,SNS_1,S_2,\dots,S_N,每个集合由 11MM 之间的整数组成。这里,$S_i = \lbrace S_{i,1},S_{i,2},\dots,S_{i,A_i} \rbrace$。

你可以任意多次(也可以零次)执行以下操作:

选择两个至少有一个公共元素的集合 XXYY。将它们从黑板上擦掉,并写上 XYX \cup Y 来代替。

这里,XYX \cup Y 表示由 XXYY 中至少一方包含的元素组成的集合。

判断能否得到一个同时包含 11MM 的集合。如果可能,求出得到它所需的最少操作次数。

输入格式

输入按以下格式从标准输入给出:

NN MM
A1A_1
S1,1S_{1,1} S1,2S_{1,2} \dots S1,A1S_{1,A_1}
A2A_2
S2,1S_{2,1} S2,2S_{2,2} \dots S2,A2S_{2,A_2}
\vdots
ANA_N
SN,1S_{N,1} SN,2S_{N,2} \dots SN,ANS_{N,A_N}

输出格式

如果能得到同时包含 11MM 的集合,输出得到它所需的最少操作次数;如果不可能,输出 1-1

样例

3 5
2
1 2
2
2 3
3
3 4 5
2

首先,选择并删去 {1,2}\lbrace 1,2 \rbrace{2,3}\lbrace 2,3 \rbrace,得到 {1,2,3}\lbrace 1,2,3 \rbrace

然后,选择并删去 {1,2,3}\lbrace 1,2,3 \rbrace{3,4,5}\lbrace 3,4,5 \rbrace,得到 {1,2,3,4,5}\lbrace 1,2,3,4,5 \rbrace

这样,用两次操作就能得到同时包含 11MM 的集合。由于只操作一次无法达到目的,所以答案是 22

1 2
2
1 2
0

S1S_1 已经同时包含 11MM,所以所需的最少操作次数是 00

3 5
2
1 3
2
2 4
3
2 4 5
-1
4 8
3
1 3 5
2
1 2
3
2 4 7
4
4 6 7 8
2

数据范围

  • 1N2×1051 \le N \le 2 \times 10^5
  • 2M2×1052 \le M \le 2 \times 10^5
  • 1i=1NAi5×1051 \le \sum_{i=1}^{N} A_i \le 5 \times 10^5
  • 1Si,jM1 \le S_{i,j} \le M (1iN,1jAi)(1 \le i \le N, 1 \le j \le A_i)
  • Si,jSi,kS_{i,j} \neq S_{i,k} (1j<kAi)(1 \le j \lt k \le A_i)
  • 输入中的所有值均为整数。
难度 提高+/省选
通过率
尝试 0
已通过 0
ID
2939
类型
传统题
Time Limit
3000ms
Memory Limit
1024MiB
上传者
标签