📜  门|门 CS 1999 |第 31 题(1)

📅  最后修改于: 2023-12-03 14:58:35.386000             🧑  作者: Mango

门|门 CS 1999 |第 31 题

这是一道来自于门|门 CS 1999的第31题。题目如下:

给定一个n个节点、m条边的无向图,现在要求你删除其中一些边,让剩余的边构成若干个连通块。

现在的问题是,删除所有满足条件的边后剩余边的最小数量是多少。

牢记:本题需要使用并查集解决。

输入格式

第一行输入两个整数n和m,表示节点数和边数。

接下来m行,每行输入两个整数u和v,表示节点u和节点v之间有一条边。

输出格式

输出一个整数,表示删除所有满足条件的边后剩余边的最小数量。

数据范围

输入样例

4 4
1 2
1 4
2 3
3 4

输出样例

1
解题思路

本题目的要求是删除一些边使图划分成多个连通块。

因为是要删除边,所以我们可以先把所有边都加进去,再逐个删除。每删除一条边就判断图的连通性,如果不连通则记录删除这条边后还需要删除多少条边,最后遍历完所有边后返回答案。

图的连通性可以使用并查集来维护,具体过程在代码中有详细注释。

代码实现