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.  
  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. cout<<curr<<" ";
  17. }
  18. int main() {
  19. int n ; int m ;
  20. cin>>n>>m;
  21. vector<vector<int>>adjlist(n+1);
  22. vector<bool>vis(n+1,false);
  23. vector<int>parent(n+1,-1);
  24. for(int i = 0 ; i<m;i++){
  25. int u ; int v ;
  26. cin>>u>>v;
  27. adjlist[u].push_back(v);
  28. adjlist[v].push_back(u);
  29. }
  30. dfs(vis,adjlist,1,parent);
  31. return 0;
  32. }
Success #stdin #stdout 0s 5324KB
stdin
9 8 
1 5 
5 6 
6 9 
1 2 
2 7 
2 8 
1 3 
3 4 
stdout
9 6 5 7 8 2 4 3 1