链接:https://ac.nowcoder.com/acm/problem/14685
来源:牛客网
题目描述
给你一个 n 个点,m 条边的无向图,求至少要在这个的基础上加多少条无向边使得任意两个点可达~
输入描述:
第一行两个正整数 n 和 m 。
接下来的m行中,每行两个正整数 i 、 j ,表示点i与点j之间有一条无向道路。
输出描述:
输出一个整数,表示答案
示例1
输入
4 2
1 2
3 4
输出
1
备注:
对于100%的数据,有n,m<=100000。
题解:起初看到图论相关没往并查集方面想,其实这只是简单考察了并查集的应用,将给予的点归属一下,n个不同的归属只需要n - 1条线即可关联起来。
#include <iostream>
#include <set>
#include <stdio.h>
using namespace std;
const int maxn = 1e6 + 7