并查集
ll fa[50010];
void init()
{
for (int i = 1; i <= 50000; i++)
fa[i] = i;
}
ll find(ll a)
{
if (fa[a] == a)
return a;
return fa[a] = find(fa[a]);
}
void mix(ll a, ll b)
{
ll fa1 = find(a), fb = find(b);
fa[fb] = fa1;
}
int main()
{
init();
ll n, m, p;
cin >> n >> m >> p;
for (int i = 1; i <= m; i++)
{
ll temp1, temp2;
cin >> temp1 >> temp2;
mix(temp1, temp2);
}
while (p--)
{
ll a, b;
cin >> a >> b;
if (find(a) == find(b))
cout << "Yes\n";
else
cout << "No\n";
}
return 0;
}