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