Little_hobbit

тупое говно тупого говна на 96

Jul 13th, 2020
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.39 KB | None | 0 0
  1.     #include <iostream>
  2.     #include <vector>
  3.      
  4.     using namespace std;
  5.      
  6.     vector<vector<int>> g;
  7.     vector<bool> visited;
  8.     vector<int> cycle;
  9.      
  10.     int ans = 0;
  11.      
  12.     void svaznost_chek(int v, int prev)
  13.     {
  14.         if (ans || cycle[v])
  15.             return;
  16.      
  17.         cycle[v] = -1;
  18.         for (auto v_i : g[v])
  19.         {
  20.             if (cycle[v_i] < 0 && v_i != prev)
  21.             {
  22.                 ans = 1;
  23.                 return;
  24.             }
  25.             svaznost_chek(v_i, v);
  26.         }
  27.      
  28.         cycle[v] = 1;
  29.     }
  30.      
  31.      
  32.     int main()
  33.     {
  34.         int n, m;
  35.         cin >> n >> m;
  36.      
  37.         visited.resize(n, false);
  38.         g.resize(n);
  39.         cycle.resize(n, 0);
  40.      
  41.         for (int i = 0; i < m; ++i)
  42.         {
  43.             int a, b;
  44.             cin >> a >> b;
  45.             a--;
  46.             b--;
  47.      
  48.             g[a].push_back(b);
  49.             g[b].push_back(a);
  50.         }
  51.      
  52.         // проверка на связность
  53.         svaznost_chek(0, 0);
  54.         if (!ans)
  55.         {
  56.             for (int j = 0; j < n; ++j)
  57.             {
  58.                 if (cycle[j] == 0)
  59.                 {
  60.                     cout << "NO";
  61.                     break;
  62.                 }
  63.             }
  64.             cout << "YES";
  65.         }
  66.         else
  67.             cout << "NO";
  68.      
  69.         return 0;
  70.     }
Advertisement
Add Comment
Please, Sign In to add comment