#include < stdio.h > #include < string.h > #define maxn 23333 int n,
m,
p,
fa[maxn];
int getf(int);
int find(int, int);
int main() {
scanf("%d %d %d", &n, &m, &p);
for (int i = 1; i <= n; i++) fa[i] = i;
for (int i = 1; i <= m; i++) {
int x,
y,
t1,
t2;
scanf("%d %d", &x, &y);
t1 = getf(x);
t2 = getf(y);
fa[t1] = t2;
}
for (int i = 1; i <= p; i++) {
int x,
y;
scanf("%d %d", &x, &y);
if (find(x, y)) printf("Yes\n");
else printf("No\n");
}
return 0;
}
int getf(int x) {
return fa[x] == x ? x: getf(fa[x]);
}
int find(int x, int y) {
int t1 = getf(x),
t2 = getf(y);
return t1 == t2 ? 1 : 0;
}
来源: http://www.bubuko.com/infodetail-2266080.html