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