测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A71929. 连通图

编程题 入门

题目描述

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

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

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

输入格式

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

接下来 m 行,每行两个正整数 u_i, v_i ,表示图中一条连接结点 u_i 与结点 v_i 的边。

输出格式

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

输入输出样例

输入 #1
4 4
1 2
2 3
3 1
1 4
输出 #1
0
输入 #2
6 4
1 2
2 3
3 1
6 5
输出 #2
2

说明/提示

数据范围

对于 40 \% 的测试点,保证: 1 \le n \le 100, \quad 1 \le m \le 100

对于所有测试点,保证: 1 \le n \le 10^5, \quad 1 \le m \le 10^5