Submission #1252596

#TimeUsernameProblemLanguageResultExecution timeMemory
1252596aren_danceToy Train (IOI17_train)C++20
11 / 100
760 ms1408 KiB
#include <bits/stdc++.h> #include "train.h" using namespace std; const int N=5001; vector<int> g[N]; bool vis[N]; bool f[N]; bool lav[N]; bool dfs(int node){ vis[node]=1; bool an=0; if(lav[node]){ return 1; } for(auto i:g[node]){ if(vis[i]){ continue; } an=an|dfs(i); } return an; } void dfs2(int node,int root){ vis[node]=1; for(auto i:g[node]){ if(i==root){ lav[root]=1; return; } if(!vis[i]){ dfs2(i,root); } } } void dfs3(int node,int root){ vis[node]=1; for(auto i:g[node]){ if(i==root){ lav[root]=1; } if(!vis[i] && !f[i]){ dfs3(i,root); } } } vector<int> who_wins(std::vector<int> a, std::vector<int> r, std::vector<int> u, std::vector<int> v) { int n=a.size(); int m=u.size(); for(int i=0;i<m;++i){ g[u[i]].push_back(v[i]); } for(int i=0;i<n;++i){ f[i]=r[i]; } if(a[0]){ vector<int> answ; for(int i=0;i<n;++i){ for(int j=0;j<n;++j){ vis[j]=0; } if(f[i]){ dfs2(i,i); } } for(int i=0;i<n;++i){ for(int j=0;j<n;++j){ vis[j]=0; } answ.push_back(dfs(i)); } return answ; } for(int i=0;i<n;++i){ for(int j=0;j<n;++j){ vis[j]=0; } if(!f[i]){ dfs2(i,i); } } for(int i=0;i<n;++i){ dfs3(i,i); } }

Compilation message (stderr)

train.cpp: In function 'std::vector<int> who_wins(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
train.cpp:84:1: warning: control reaches end of non-void function [-Wreturn-type]
   84 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...