Submission #73740

#TimeUsernameProblemLanguageResultExecution timeMemory
73740MKopchevToy Train (IOI17_train)C++14
0 / 100
205 ms1392 KiB
#include<bits/stdc++.h> using namespace std; const int nmax=5e3+42; int n; vector< int > adj[nmax]; vector<int> ret; bool rech[nmax]; bool ans=0,been[nmax]; void dfs(int node) { if(been[node])return; if(rech[node])ans=1; been[node]=1; for(auto k:adj[node]) dfs(k); } vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) { bool c1=1; int m=u.size(); for(int i=0;i<m;i++) { adj[u[i]].push_back(v[i]); if(v[i]-u[i]>1||v[i]-u[i]<0)c1=0; } n=a.size(); for(int i=0;i<n;i++) rech[i]=r[i]; bool one=1; for(auto k:a) if(k!=1)one=0; if(one) { for(int i=0;i<n;i++) { memset(been,0,sizeof(been)); ans=0; dfs(i); ret.push_back(ans); } } if(c1) { ret={}; for(int i=0;i<n;i++) { int where=i; while(1) { bool self=0; for(auto k:adj[where]) if(k==where)self=1; if(self==1) { ret.push_back(a[where]); break; } else where++; } } } return ret; } /* int main() { for(auto k:who_wins({1,1,1},{0,0,1},{0,1,2},{1,0,2}))cout<<k<<endl; } */
#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...