Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2020
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int n,m;
  4. bool check=false;
  5. vector <int> g[100001];
  6. int color[100001];
  7. bool dfs(int u) {
  8. if (color[u] == 1)
  9. return true;
  10. if (color[u] == 2)
  11. return false;
  12. color[u] = 1;
  13. for (auto v : g[u]) {
  14. if (dfs(v))
  15. return true;
  16. }
  17. color[u] = 2;
  18. return false;
  19. }
  20.  
  21. int main(){
  22.  
  23. scanf("%d %d",&n,&m);
  24. for(int i=1;i<=m;i++){
  25. int u,v;
  26. scanf("%d %d",&u,&v);
  27. g[u].push_back(v);
  28. }
  29. for(int i=1;i<=n;i++){
  30. for(auto v:g[i]){
  31. if(dfs(v)){
  32. check=true;
  33. break;
  34. }
  35. }
  36. }
  37. if(check) printf("Yes");
  38. else printf("No");
  39.  
  40. return 0;
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement