CF45H Road Problem

题目描述

一张连通无向图有 $ n $ 个顶点,$ m $ 条边。求:至少加入几条边,使得图中任意两点间有两种不同的路径(不能经过同一条边,可以经过同一个顶点),并构造方案。**加入新边后,图不能有重边**。

输入格式

第一行两个整数 $ n,m$($2\leq n\leq900$,$1\leq m\leq 100000 $)。 之后 $m$ 行,每行两个整数 $u_{i},v_{i}$,表示一条无向边连接着编号为 $u_{i},v_{i}$ 的这两个点。

输出格式

* 如果无解,输出 $-1$。 * 如果不需要加边,输出 $0$。 * 否则第一行一个整数 $a$,表示至少要加 $a$ 条边。接下来 $a$ 行,每行两个整数 $u_{i},v_{i}$,表示要加一条连接着编号为 $u_{i},v_{i}$ 的这两个点的无向边。(如果有多种解决方案,输出任意一个,新增边的输出顺序无要求。)