https://www.luogu.com.cn/problem/P1551亲戚(并查集)
作者:
4733
,
2023-01-09 14:25:54
,
所有人可见
,
阅读 227
#include <iostream>
int fa[5100];
using namespace std;
void init(int n)
{
for(int i=1;i<=n;i++)
{
fa[i]=i;
}
}
int find(int i)
{
if(i==fa[i])
{
return i;
}
else
{
fa[i]=find(fa[i]);
return fa[i];
}
}
void unionn(int i,int j)
{
int i_fa=find(i);
int j_fa=find(j);
fa[i_fa]=j_fa;
}
int main()
{
int n,m,p;
int Mi,Mj;
int Pi,Pj;
cin>>n>>m>>p;
init(n);
for(int i=1;i<=m;i++)
{
cin>>Mi>>Mj;
unionn(Mi,Mj);
}
for(int i=1;i<=p;i++)
{
cin>>Pi>>Pj;
if(find(Pi)==find(Pj))
{
cout<<"Yes"<<endl;
}
else
{
cout<<"No"<<endl;
}
}
return 0;
}