连通图
类型:程序题

题目描述

给定一张包含 $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$。

代码编辑器 加载中...
测试用例输入
{{resultStatus.text}}
乐编题库AI助手
人工客服
微信扫码联系客服
历史对话
{{ s.title || '未命名对话' }}
{{ s.created_at }}
暂无历史对话
我能帮助你什么?