题目描述
给定 N 个元素的集合 {1,2,…,N} 的 N−1 个子集。第 i 个集合记为 Ei。
你需要从每个集合 Ei 中选择两个不同的元素 ui,vi,以 {1,2,…,N} 作为顶点集,(u1,v1),(u2,v2),…,(uN−1,vN−1) 作为边集,构造一个 N 个顶点、N−1 条边的图 T。请判断是否可以通过合理选择 ui,vi,使得 T 是一棵树。如果可以,请给出一组实际的 (u1,v1),(u2,v2),…,(uN−1,vN−1) 使得 T 是一棵树。
输入格式
输入通过标准输入给出,格式如下:
N c1 w1,1 w1,2 … w1,c1 : c2 w2,1 w2,2 … w2,c2 : … : cN−1 wN−1,1 wN−1,2 … wN−1,cN−1
其中,ci 表示 Ei 的元素个数,wi,1,…,wi,ci 是 Ei 的 ci 个元素。保证 2≤ci≤N,1≤wi,j≤N,且 wi,j=wi,k(1≤j<k≤ci)。
输出格式
如果无法使 T 成为一棵树,则输出 -1。否则,输出满足条件的 (u1,v1),(u2,v2),…,(uN−1,vN−1),格式如下:
u1 v1 : u2 v2 : … : uN−1 vN−1
样例 1
输入
5
2 1 2
3 1 2 3
3 3 4 5
2 4 5
输出
1 2
1 3
3 4
4 5
样例 2
输入
6
3 1 2 3
3 2 3 4
3 1 3 4
3 1 2 4
3 4 5 6
输出
-1
样例 3
输入
10
5 1 2 3 4 5
5 2 3 4 5 6
5 3 4 5 6 7
5 4 5 6 7 8
5 5 6 7 8 9
5 6 7 8 9 10
5 7 8 9 10 1
5 8 9 10 1 2
5 9 10 1 2 3
输出
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
说明/提示
限制条件
- 2≤N≤105
- Ei 是 {1,2,…,N} 的子集。
- ∣Ei∣≥2
- 所有 ∣Ei∣ 的总和不超过 2×105。
由 ChatGPT 4.1 翻译