fork download
  1. #include <iostream>
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4.  
  5. void DFS(int node,vector<vector<int>>&graph,vector<bool>&visited,vector<int>&parent){
  6. cout<<node+1<<" ";
  7. visited[node]=true;
  8.  
  9. for(auto u:graph[node]){
  10. if(!visited[u]){
  11. parent[u]=node;
  12. DFS(u,graph,visited,parent);
  13. }
  14. }
  15. }
  16. int main(){
  17. int n,m;
  18. cin>>n>>m;
  19.  
  20. vector<vector<int>>graph(n);
  21. vector<bool>visited(n,false);
  22. vector<int>parent(n,-1);
  23.  
  24. int i=1;
  25. while(i<=m){
  26. int u,v;
  27. cin>>u>>v;
  28. u--,v--;
  29. graph[u].push_back(v);
  30. graph[v].push_back(u);
  31. i++;
  32. }
  33.  
  34. DFS(0,graph,visited,parent);
  35. return 0;
  36. }
Success #stdin #stdout 0.01s 5320KB
stdin
8 7 
1 2
1 3
2 4 
2 5 
3 6 
3 7 
5 8
stdout
1 2 4 5 8 3 6 7