📅  最后修改于: 2023-12-03 14:58:35.386000             🧑  作者: Mango
这是一道来自于门|门 CS 1999的第31题。题目如下:
给定一个n个节点、m条边的无向图,现在要求你删除其中一些边,让剩余的边构成若干个连通块。
现在的问题是,删除所有满足条件的边后剩余边的最小数量是多少。
牢记:本题需要使用并查集解决。
第一行输入两个整数n和m,表示节点数和边数。
接下来m行,每行输入两个整数u和v,表示节点u和节点v之间有一条边。
输出一个整数,表示删除所有满足条件的边后剩余边的最小数量。
输入样例
4 4
1 2
1 4
2 3
3 4
输出样例
1
本题目的要求是删除一些边使图划分成多个连通块。
因为是要删除边,所以我们可以先把所有边都加进去,再逐个删除。每删除一条边就判断图的连通性,如果不连通则记录删除这条边后还需要删除多少条边,最后遍历完所有边后返回答案。
图的连通性可以使用并查集来维护,具体过程在代码中有详细注释。