#T2322. 新航线(New Flight Routes)

新航线(New Flight Routes)

链接: https://cses.fi/problemset/task/1685

板块: Advanced Graph Problems

时限: 1.00 s | 内存: 512 MB

题目描述

nn 座城市和 mm 条它们之间的航班连接。你的任务是新增航班,使得从任意一座城市都能到达其他任何城市。最少需要新增多少条航班?

输入

第一行包含两个整数 nnmm:城市数量和航班数量。城市编号为 1,2,,n1,2,\dots,n

接下来有 mm 行描述航班。每行包含两个整数 aabb:表示有一条从城市 aa 飞往城市 bb 的航班。所有航班均为单向航班。

输出

先输出一个整数 kk:需要新增的航班数量。然后输出 kk 行描述新增的航班。你可以输出任意一组合法解。

数据范围

1n1051 \le n \le 10^5 1m21051 \le m \le 2 \cdot 10^5 1a,bn1 \le a,b \le n

样例输入

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

样例输出

1
4 2