#CCF4723. [GESP202509七级] 连通图

[GESP202509七级] 连通图

题目背景

2025 年 09 月 GESP C++ 七级编程第 1 题

题目描述

给定一张包含 nn 个结点与 mm 条边的无向图,结点依次以 1,2,,n1,2,\ldots,n 编号,第 ii 条边(1im1\le i\le m)连接结点 uiu_i 与结点 viv_i。如果从一个结点经过若干条边可以到达另一个结点,则称这两个结点是连通的。

你需要向图中加入若干条边,使得图中任意两个结点都是连通的。请你求出最少需要加入的边的条数。

注意给出的图中可能包含重边与自环。

输入格式

第一行,两个正整数 n,mn,m,表示图的点数与边数。

接下来 mm 行,每行两个正整数 ui,viu_i,v_i,表示图中一条连接结点 uiu_i 与结点 viv_i 的边。

输出格式

输出一行,一个整数,表示使得图中任意两个结点连通所需加入的边的最少数量。

样例

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

数据范围

对于 40%40\% 的测试点,保证 1n1001\le n\le 1001m1001\le m\le 100

对于所有测试点,保证 1n1051\le n\le 10^51m1051\le m\le 10^5