fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. vector <int> graph[1001];
  4. int visit[1001];
  5. int n,e;
  6. vector<int>ans;
  7. void DFS(int start)
  8. {
  9. visit[start] = 1;
  10. for(int j = 0; j< graph[start].size();j++)//indx aigola
  11. {
  12. int node = graph[start][j];
  13. if(visit[node] == 0)
  14. {
  15. visit[node] =1;
  16. DFS(node);
  17. }
  18. }
  19. ans.push_back(start);
  20. }
  21. int main()
  22. {
  23. cin >> n>> e;
  24. int u,v;
  25. for(int i =1; i<=e; i++)
  26. {
  27.  
  28. cin>> u>>v;
  29. graph[u].push_back(v);
  30. }
  31. for(int i =1; i<= n; i++)
  32. {
  33.  
  34. if(visit[i]==0)// only unvisit node jon loop colbe
  35. {
  36.  
  37. DFS(i);
  38. }
  39. }
  40.  
  41. for(int i = ans.size()-1; i >=0; i--)
  42. {
  43. cout << ans[i] << " ";
  44. }
  45.  
  46. return 0;
  47. }
  48.  
Success #stdin #stdout 0s 5320KB
stdin
8 8
1 3
2 3
2 4
3 5
5 8
5 6
4 6
6 7
stdout
2 4 1 3 5 6 7 8