Advertisement
achulkov2

Untitled

Apr 15th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6. int n;
  7.  
  8. vector<vector<int>> g;
  9. vector<bool> used;
  10. vector<int> comp;
  11.  
  12. void dfs(int v) {
  13. used[v] = true;
  14. comp.push_back(v);
  15. for (auto i = g[v].begin(); i != g[v].end(); ++i)
  16. if (!used[*i])
  17. dfs(*i);
  18. }
  19. int main() {
  20. int m, a, b, l;
  21. cin >> n >> m;
  22. g.resize(n);
  23. used.assign(n, false);
  24. for (int i = 0; i < m; i++) {
  25. cin >> a >> b;
  26. a--;
  27. b--;
  28. g[a].push_back(b);
  29. g[b].push_back(a);
  30. }
  31. dfs(0);
  32. cout << comp.size() << endl;
  33. sort(comp.begin(), comp.end());
  34. for (int i = 0; i < comp.size(); ++i) {
  35. cout << comp[i] + 1 << " ";
  36. }
  37. return 0;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement