Submission #428642

#TimeUsernameProblemLanguageResultExecution timeMemory
428642vanicToy Train (IOI17_train)C++14
0 / 100
8 ms1304 KiB
#include "train.h" #include <iostream> #include <vector> #include <algorithm> #include <cmath> using namespace std; const int maxn=5005; int n, m; vector < int > ms[maxn]; int charge[maxn]; bool tko[maxn]; bool bio[maxn]; vector < int > sol; int poc; int dfs(int x){ if(x==poc){ return 1; } if(bio[x]){ return sol[x]; } bio[x]=1; for(int i=0; i<(int)ms[x].size(); i++){ sol[x]|=dfs(ms[x][i]); } return sol[x]; } vector < int > who_wins(vector < int > a, vector < int > r, vector < int > u, vector < int > v) { n=a.size(); m=u.size(); for(int i=0; i<n; i++){ tko[i]=a[i]; charge[i]=r[i]; } for(int i=0; i<m; i++){ ms[u[i]].push_back(v[i]); } sol.resize(n, 0); for(int i=0; i<n; i++){ if(charge[i]){ poc=i; dfs(i); } } bool p=1; while(p){ p=0; for(int i=0; i<n; i++){ if(sol[i]){ continue; } for(int j=0; j<(int)ms[i].size(); j++){ if(sol[ms[i][j]]){ sol[i]=1; p=1; break; } } } } return sol; }
#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...