Advertisement
Soupborsh

Untitled

Apr 2nd, 2025
18
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.88 KB | None | 0 0
  1. #include <cstdio>
  2. #include <vector>
  3. // #include <algorithm>
  4. // #include <utility>
  5.  
  6. #define ULL unsigned long long
  7. #define LL long long
  8. #define uint unsigned int
  9.  
  10. std::vector<std::vector<uint>> g;
  11. std::vector<bool> used;
  12.  
  13. bool dfs(uint v) {
  14.   used[v] = true;
  15.   if (g[v].size() != 2) {
  16.     return false;
  17.   }
  18.   for (uint u : g[v]) {
  19.     if (used[u] == false) {
  20.       dfs(u);
  21.     }
  22.   }
  23.   return true;
  24. }
  25.  
  26. int main(void) {
  27.   uint n, m, cycles = 0;
  28.   scanf("%u %u", &n, &m);
  29.   g.resize(m);
  30.   used.resize(n);
  31.   //
  32.   // printf("%u\n", n);
  33.  
  34.   // for (uint i = 0; i < n; i++) {
  35.   // }
  36.   uint v, u;
  37.   for (uint i = 0; i < m; i++) {
  38.     scanf("%u %u", &v, &u);
  39.     g[v].push_back(u);
  40.     g[u].push_back(v);
  41.   }
  42.   for (uint i = 0; i < n; i++) {
  43.     if (!used[i]) {
  44.       if (dfs(i)) {
  45.         cycles++;
  46.       }
  47.     }
  48.   }
  49.  
  50.   printf("%u\n", cycles);
  51.  
  52.   return 0;
  53. }
  54.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement