Advertisement
Guest User

Untitled

a guest
Sep 26th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. #include <iostream>
  2. #include <stack>
  3. #include <vector>
  4. #include <cstdio>
  5. #include <cstdlib>
  6.  
  7. using namespace std;
  8.  
  9. int time,color[100];
  10. vector<int> gf[100];
  11. stack<int>order;
  12.  
  13. void dfs(int u)
  14. {
  15. int sz,v;
  16. color[u]=1;
  17.  
  18. sz=gf[u].size();
  19. for(v=0;v<sz;v++)
  20. {
  21. if(color[gf[u][v]]==0)
  22. dfs(gf[u][v]);
  23.  
  24. }
  25.  
  26. order.push(u);
  27.  
  28. }
  29.  
  30.  
  31.  
  32. int main()
  33. {
  34. int n,e,i,j,k,a,b;
  35.  
  36. scanf("%d %d",&n,&e);
  37.  
  38. for(i=1;i<=n;i++)
  39. gf[i].clear();
  40.  
  41. for(i=1;i<=e;i++)
  42. {
  43. scanf("%d %d",&a,&b);
  44. gf[a].push_back(b);
  45. }
  46.  
  47. for(i=1;i<=n;i++)
  48. color[i]=0;
  49.  
  50. for(i=1;i<=n;i++)
  51. {
  52. if(color[i]==0)
  53. dfs(i);
  54. }
  55.  
  56. printf("sorted list: ");
  57. while(!order.empty())
  58. {
  59. int tmp = order.top();
  60. order.pop();
  61. printf("%d ",tmp);
  62. }
  63. printf("\n");
  64.  
  65.  
  66.  
  67. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement