并查集模板
//并查集模板 亲戚 
#include<cstdio>
using namespace std;
int father[5005];
int f(int x){  //寻找每个结点的父亲结点
	int r=x;
	while(father[r]!=r){
		r=father[r];
	}
	return r;
}
int add(int x,int y){ 
	int fx=f(x);
	int fy=f(y);
	return father[fx]=fy;  //x.y无序,因为不是按树的结构存储,而是按集合 
}
int main(){
	int n,m,p;
	scanf("%d%d%d",&n,&m,&p);
	for(int i=1;i<=n;i++) father[i]=i;
	for(int i=1;i<=m;i++){
		int x,y;
		scanf("%d%d",&x,&y);
		if(f(x)!=f(y)){
			add(x,y);
		}
	}
	for(int i=1;i<=p;i++){
		int x,y;
		scanf("%d%d",&x,&y);
		if(f(x)==f(y)){
			puts("Yes");
		}
		else puts("No");
	}
	return 0;
}
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号