作者:壮丁1987_536 | 来源:互联网 | 2023-10-11 13:39
并查集的使用Note:#include<iostream>usingnamespacestd;intfather[500
并查集的使用
Note:
#include
using namespace std;
int father[5001];
//寻找父节点
int find(int node)
{
if (father[node] == node)
return node;
return father[node] = find(father[node]);//路径压缩
}
//合并两个集合
void Union(int i, int j)
{
int p1 = find(i);
int p2 = find(j);
if (p1 != p2)
{
if (p1 > n >> m >> p;
for (int i = 1; i <= n; ++i)
father[i] = i;
for (int i = 0; i > t1 >> t2;
if(t1!=t2)
Union(t1, t2);
}
for (int i = 0; i > t1 >> t2;
if (Different(t1, t2))
cout <<"No" <