SuitNdtie

Esport used color

Mar 14th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.76 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<vector>
  3. using namespace std;
  4.  
  5. int n,m;
  6. vector<int> adj[100010];
  7. int color[100010];
  8.  
  9. void printcolor(int line){
  10.     printf("%d : ",line);for(int j=1;j<=n;j++)printf("%d ",color[j]);printf("\n");
  11. }
  12.  
  13. bool dfs(int u){
  14. //  printcolor(u);
  15.     if(color[u] == 1)return true;
  16.     if(color[u] == 2)return false;
  17.    
  18.     color[u] = 1;
  19.     for(int i=0;i<adj[u].size();i++){
  20.         int v = adj[u][i];
  21.         if(dfs(v))return true;
  22.     }
  23.     color[u] = 2;
  24.     return false;
  25. }
  26.  
  27. int main(){
  28.     scanf("%d %d",&n,&m);
  29.     for(int i=0;i<m;i++){
  30.         int u,v;
  31.         scanf("%d %d",&u,&v);
  32.         adj[u].push_back(v);
  33.     //  adj[v].push_back(u);
  34.     }
  35.     bool isCycle = false;
  36.     for(int i=1;i<=n && !isCycle;i++){
  37.         isCycle = dfs(i);
  38. //      printcolor(i);
  39.     }
  40.     printf("%s",(isCycle?"Yes":"No"));         
  41. }
Advertisement
Add Comment
Please, Sign In to add comment