叫亲戚的话,大家都应该知道了吧~
#include<stdio.h>
#include<iostream>
using namespace std;
const int MAX_N = 5001;
int R[MAX_N];
int N,M,P;
int findroot(int t)
{
if (!R[t]) return t;
else return R[t]=findroot(R[t]);
}
int init()
{
int i;
scanf("%d %d %d",&N,&M,&P);
int x,y;
int a,b;
for (i=1;i<=M;i++)
{
scanf("%d %d",&x,&y);
a=findroot(x);
b=findroot(y);
if (a!=b) R[a]=b;
}
}
int work_put()
{
int i;
int x,y;
int a,b;
for (i=1;i<=P;i++)
{
scanf("%d %d",&x,&y);
a=findroot(x);
b=findroot(y);
if (a==b) printf("Yes\n");
else printf("No\n");
}
}
int main()
{
init();
work_put();
return 0;
}