Guest User

Untitled

a guest
Jan 24th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.70 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int N, M;
  5. vector < int > G[5006];
  6. int cnt[5006] = {};
  7. int main()
  8. {
  9. queue < int > que;
  10. int flag = 0;
  11. cin >> N >> M;
  12. for(int i = 0; i < M; i++) {
  13. int a, b;
  14. cin >> a >> b;
  15. G[a - 1].push_back(b - 1); cnt[b - 1]++;
  16. }
  17. for(int i = 0; i < N; i++) {
  18. if(cnt[i] == 0) que.push(i);
  19. }
  20. while(!que.empty()) {
  21. if(que.size() >= 2) flag = 1;
  22. int v = que.front(); que.pop();
  23. cout << v + 1 << endl;
  24. for(int i = 0; i < G[v].size(); i++) {
  25. int u = G[v][i];
  26. cnt[u]--;
  27. if(cnt[u] == 0) que.push(u);
  28. }
  29. }
  30. cout << flag << endl;
  31. return (0);
  32. }
Add Comment
Please, Sign In to add comment