shtirmann

Untitled

Feb 21st, 2023
662
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.78 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. #define close_all { \
  4. out.close();      \
  5. in.close(); }
  6.  
  7. using namespace std;
  8.  
  9. #define int long long
  10.  
  11. int n;
  12. map<int, vector<int>> graph;
  13. map<int, bool> used;
  14. set<int> curr;
  15. map<int, bool> root;
  16. bool chk;
  17.  
  18. void dfs(int v) {
  19.   used[v] = true;
  20.   curr.insert(v);
  21.   for (auto dest : graph[v]) {
  22.     if (!used[dest]) {
  23.       dfs(dest);
  24.     }
  25.   }
  26. }
  27.  
  28. signed main() {
  29.   int m;
  30.   cin >> n >> m;
  31.  
  32.   if (m != n - 1) {
  33.     chk = true;
  34.   }
  35.  
  36.   set<int> c;
  37.  
  38.   for (int i = 0; i < m; ++i) {
  39.     int a, b;
  40.     cin >> a >> b;
  41.     graph[a - 1].push_back(b - 1);
  42.     graph[b - 1].push_back(a - 1);
  43.   }
  44.  
  45.   dfs(0);
  46.   if (curr.size() != n) {
  47.     chk = true;
  48.   }
  49.  
  50.   if (chk) {
  51.     cout << "no";
  52.   } else {
  53.     cout << "yes";
  54.   }
  55.   return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment