Advertisement
Slayerfeed

E-sport อีกรอบ

Apr 13th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.79 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. vector<int> g[100010];
  7. int visited[100010];
  8. bool dfs(int x){
  9.     if(visited[x]==1){
  10.         return true;
  11.     }
  12.     visited[x]=1;
  13.     for(auto c:g[x]){
  14.         if(visited[c]!=2)
  15.         if(dfs(c)){
  16.             return true;
  17.         }
  18.     }
  19.     visited[x]=2;
  20.     return false;
  21. }
  22.  
  23.  
  24. int main(){
  25.     int n ,m;
  26.  
  27.     cin >> n >> m;
  28.     int u ,v;
  29.     for(int i=1;i<=m;++i){
  30.         cin >> u >> v;
  31.         g[u].push_back(v);
  32.     }
  33.     bool check=false;
  34.     for(int i=1;i<=n;++i){
  35.         if(visited[i]!=2){
  36.             if(dfs(i)){
  37.                 check=true;
  38.                 break;
  39.             }
  40.         }
  41.     }
  42.  
  43.     if(check){
  44.         cout << "Yes";
  45.     }
  46.     else{
  47.         cout << "No";
  48.     }
  49.  
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement