luogu#B3904. [NICA #3] 图造构
[NICA #3] 图造构
题目描述
从一个 个点的无向简单图 (无自环无重边)可以通过以下步骤构造出另一个 个点的无向简单图 :
- 初始 中只有 个点,没有任何边;
- 选择 中两个度数相同的点 ,然后在 中连接 和 ,同时将 中的点 以及 连出去的边一同删去;
- 重复步骤 ,直到 中仅剩下一个点,此时得到的图 即为构造出的图。
容易发现同样的一张无向简单图 可能可以构造得出不同的图 ,并且我们还可以由构造出来的图 继续构造图 等等。
现在给定两张点数相同的无向简单图 ,请你通过至少 次且不超过 次构造从 构造出 ,输入数据保证有解。如果有多种方案,输出任意一种都会被判定为正确。
或者说你要做 次构造 ,满足 。
输入格式
输入第一行一个整数 ,表示 和 中点的数量。
输入第二行一个整数 ,表示 中边的数量。
接下来 行每行两个整数 ,表示一条 中的无向边。保证不存在重边和自环。
输入第 行一个整数 ,表示 中边的数量。
接下来 行每行两个整数 ,表示一条 中的无向边。同样地,保证不存在重边和自环。
输出格式
输出第一行一个整数 ,其中 ,表示你使用的构造次数。
接下来你需要输出 行,每行两个整数 ,分别表示你这 次构造的构造过程。
具体来说,对于某一次特定的构造过程,你需要输出 行,表示题意中步骤 中每次选择的两个点 。
3
3
1 2
2 3
3 1
2
1 2
2 3
1
1 2
2 3
提示
样例 1 解释
初始 有 个点,没有边。
一开始 中包含三条边 ,每个点的度数分别为 。
选择 这两个度数相同的点,然后将边 加入 ,删除 中的边 和点 。
此时 中包含一条边 ,每个点的度数分别为 。
选择 这两个度数相同的点,然后将边 加入 ,删除 中的边 和点 ,并结束此次构造。
此时得到的 中有两条边 ,有 满足条件。
数据范围
对于所有数据,满足 ,。