给你一个图,问有多少连通块。
题目要求计算一个无向图的连通块数量。输入包含两个整数 n
和 m
,分别表示图中点的数量和边的数量,接着是 m
行,每行两个整数 u
和 v
,表示点 u
和点 v
之间的无向边。输出应为该图的连通块数。示例输入为 4
(点数)、1
(边数)和边 0 1
,输出为 3
,表示图中共有 3 个连通块。
并查集裸题,每次加边直接并查集合并,判断连通块的时候可以使用fa[i]是不是原来初始化时候设置的值。
n
的数组 fa
,每个元素初始为其自身,表示每个点自成一个连通块。Un
函数将输入的边连接的两个点合并在同一个连通块中。