Advertisement
Josif_tepe

Untitled

Dec 18th, 2022
832
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.87 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. const int maxn = 105;
  5. int root[maxn];
  6. bool find(int A, int B) {
  7.     if(root[A] == root[B]) {
  8.         return true;
  9.     }
  10.     return false;
  11. }
  12. void union_two_elements(int A, int B) {
  13.     int tmp = root[A];
  14.     for(int i = 0; i < maxn; i++) {
  15.         if(root[i] == tmp) {
  16.             root[i] = root[B];
  17.         }
  18.     }
  19. }
  20. int main() {
  21.     for(int i = 0; i < maxn; i++) {
  22.         root[i] = i;
  23.     }
  24.     while(true) {
  25.         string s;
  26.         cin >> s;
  27.         if(s == "u") {
  28.             int a, b;
  29.             cin >> a >> b;
  30.             union_two_elements(a, b);
  31.         }
  32.         else {
  33.             int a, b;
  34.             cin >> a >> b;
  35.             if(find(a, b)) {
  36.                 cout << "YES\n";
  37.             }
  38.             else {
  39.                 cout << "NO\n";
  40.             }
  41.         }
  42.     }
  43.     return 0;
  44. }
  45.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement