/*
* @Description: To iterate is human, to recurse divine.
* @Autor: Recursion
* @Date: 2022-03-18 20:22:29
* @LastEditTime: 2022-03-18 20:30:10
*/
#include<bits/stdc++.h>
using namespace std;
int n,m,p;
int f[(int)1e6+10];
int find(int x)
{
if(x == f[x])
return x;
else
return f[x] = find(f[x]);
}
void init(int n)
{
for(int i = 1;i <= n;i ++)
f[i] = i;
}
int main()
{
while(cin >> n >> m >> p){
init(n);
int x,y;
for(int i = 1;i <= m;i ++){
cin >> x >> y;
f[find(x)] = f[find(y)];
}
for(int i = 1;i <= p;i ++){
cin >> x >> y;
if(f[find(x)] == f[find(y)])
cout << "Yes" << endl;
else
cout << "No" << endl;
}
}
}
P1551 亲戚
最新推荐文章于 2025-12-19 15:31:04 发布
1057

被折叠的 条评论
为什么被折叠?



