QOJ.ac

QOJ

时间限制: 3 s 内存限制: 512 MB 总分: 100

#1664. 仙人掌不够

统计

在 NERC 2020 在线赛中没有关于仙人掌图的题目。这是一个严重的失误,所以评委们决定修复它。如果不解决一道关于仙人掌图的题目,你就无法进入 2021 年世界总决赛!

仙人掌图是一个连通的无向图,其中每条边最多属于一个简单环。直观地说,仙人掌图是树的一种推广,允许存在一些环。仙人掌图中不允许存在多重边(一对顶点之间有多条边)和自环(连接顶点自身的边)。

Cher 有一个仙人掌图。如果无法在不破坏其仙人掌图性质的前提下添加任何边,她称该仙人掌图为“强”仙人掌图。但 Cher 认为她的仙人掌图不够强。她想在图中添加最少数量的边,使其变为强仙人掌图,即创建一个具有相同顶点集的新仙人掌图,使得原仙人掌图是新图的子图,且无法再添加任何边而不破坏仙人掌图的性质。Cher 雇佣你来完成这项工作。所以……这就要靠你了!

输入格式

输入包含一个或多个独立的测试用例。

每个测试用例的第一行包含两个整数 $n$ 和 $m$ ($1 \le n \le 10^5$, $0 \le m \le 10^5$),其中 $n$ 是图中的顶点数。顶点编号从 $1$ 到 $n$。图的边由一组边不相交的路径表示,其中 $m$ 是这些路径的数量。

接下来的 $m$ 行,每行包含图中的一条路径。路径以一个整数 $s_i$ ($2 \le s_i \le 1000$) 开头,后跟 $s_i$ 个 $1$ 到 $n$ 之间的整数。这些 $s_i$ 个整数表示路径上的顶点。

路径中相邻的顶点是不同的。路径可以多次经过同一个顶点,但整个测试用例中每条边恰好被遍历一次。图中不存在多重边(任意两个顶点之间最多只有一条边)。

输入在所有测试用例之后以两个零结尾。这不定义测试用例,仅标记输入的结束,不需要输出。

输入中的所有图均为仙人掌图。整个输入中 $n$ 的总和与 $m$ 的总和均不超过 $10^5$。

输出格式

对于每个测试用例,首先输出一行,包含需要添加的最少边数 $A$。然后输出 $A$ 行,每行描述一条边 $u_i \ v_i$,其中 $u_i$ 和 $v_i$ 是要连接的顶点编号。添加这些边后,所得图必须是一个强仙人掌图。

样例

样例输入 1

6 1
7 1 2 5 6 2 3 4
3 1
4 1 2 3 1
5 2
3 1 3 5
3 1 2 4
7 2
6 1 2 3 4 5 3
3 6 5 7
0 0

样例输出 1

1
1 4
0
1
5 4
2
1 3
6 7

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.