题目描述
给定一张包含 $n$ 个结点与 $m$ 条边的无向图,结点依次以 $1, 2, \cdots, 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$,$1 \le m \le 100$。
对于所有测试点,保证 $1 \le n \le 10^5$,$1 \le m \le 10^5$。