Advertisement
Guest User

Untitled

a guest
Mar 30th, 2020
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <tuple>
  4. #include <set>
  5. #include <map>
  6. #include <cmath>
  7. #include <string>
  8. #include <algorithm>
  9. #define int long long
  10.  
  11. using namespace std;
  12.  
  13. vector <vector <int> > g, comp;
  14. vector <int> used;
  15.  
  16. void dfs(int v, int color)
  17. {
  18. if (used[v])
  19. return;
  20. used[v] = 1;
  21. comp[color].push_back(v);
  22. for (int e : g[v])
  23. dfs(e, color);
  24. }
  25.  
  26. signed main()
  27. {
  28. int n, m;
  29. cin >> n >> m;
  30.  
  31. g.resize(n);
  32. used.resize(n);
  33.  
  34. for (int i = 0; i < m; ++i)
  35. {
  36. int u, v;
  37. cin >> u >> v;
  38. g[v - 1].push_back(u - 1);
  39. g[u - 1].push_back(v - 1);
  40. }
  41.  
  42. for (int i = 0; i < n; ++i)
  43. {
  44. if (!used[i])
  45. {
  46. vector <int> tmp;
  47. comp.push_back(tmp);
  48. dfs(i, comp.size() - 1);
  49. }
  50. }
  51.  
  52. for (auto e1 : comp)
  53. {
  54. for (int e : e1)
  55. cout << e << " ";
  56. cout << '\n';
  57. }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement