1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| #include <bits/stdc++.h> using namespace std; int n, m, p; int f[10010]; int find(int x) { return x == f[x] ? x : (f[x] = find(f[x])); } int main() { cin >> n >> m >> p; for (int i = 1; i <= n; i++) f[i] = i; while (m--) { int x, y; cin >> x >> y; int a = find(x), b = find(y); f[a] = b; } while (p--) { int x, y; cin >> x >> y; int a = find(x), b = find(y); if (a == b) cout << "Yes" << endl; else cout << "No" << endl; } }
|