#include<bits/stdc++.h>
using namespace std;
int f[5050],n,m,q,x,y;
int find(int x){
return (x=f[x])?x:find(f[x]);
}
void merge(int x,int y){
int fx=find(x),fy=find(y);
if(fx!=fy) f[fy]=fx;
}
int main(){
scanf("%d%d%d",&n,&m,&q);
for(int i=1;i<=n;i++) f[i]=i;
while(m--){
scanf("%d%d",&x,&y);
merge(x,y);
}
while(q--){
scanf("%d%d",&x,&y);
(find(x)==find(y))?printf("Yes\n"):printf("No\n");
}
return 0;
}
是不是条件运算符写错了?