fork download
  1. #include <iostream>
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4. void dfs(int n, vector<int> adj[],vector <int> &ans,int s,vector <int> &vis)
  5. {
  6. ans.push_back(s);
  7. vis[s]=1;
  8. for(auto it : adj[s]){
  9. if(vis[it]==0)
  10. dfs(n,adj,ans,it,vis);
  11. }
  12. }
  13. int main()
  14. {
  15. int n,e;
  16. cin>>n>>e;
  17. vector <int> adj[n+1];
  18. for(int i = 0;i<e;i++)
  19. {
  20. int u,v;
  21. cin >>u>>v;
  22. adj[u].push_back(v);
  23. adj[v].push_back(u);
  24. }
  25.  
  26. vector <int> vis(n+1,0);
  27. vector <int> ans;
  28. for(int i=1;i<=n;i++){
  29. if(vis[i]==0)
  30. {
  31. dfs(n,adj,ans,i,vis);
  32. }
  33. }
  34. for(int i=0;i<ans.size();i++)
  35. {
  36. cout<<ans[i]<<" ";
  37. }
  38.  
  39. cout<<endl;
  40. return 0;
  41. }
  42.  
Success #stdin #stdout 0.01s 5488KB
stdin
6 5
1 2
2 3
2 4
4 5
4 6
stdout
1 2 3 4 5 6