Submission #296618

#TimeUsernameProblemLanguageResultExecution timeMemory
296618DovranToy Train (IOI17_train)C++11
0 / 100
14 ms3072 KiB
#include <bits/stdc++.h> #include "train.h" #define N 20009 #define pii pair <int, int> #define ff first #define ss second #define sz() size() #define pb push_back #define ll long long using namespace std; bool a[N]; vector<int>ans; int asd=0; int vis[N], c[N]; map<int, int>M[N]; void dfs(int nd){ vis[nd]=1; if(a[nd]){ asd=1; return; } if(M[nd][nd+1] and !vis[nd+1]) dfs(nd+1); a[nd]=asd; } std::vector<int> who_wins(std::vector<int>o, std::vector<int>p, std::vector<int>u, std::vector<int>v){ int n=o.sz(); int m=u.sz(); for(int i=0; i<m; i++){ M[u[i]][v[i]]=1; if(u[i]==v[i]) c[u[i]]=1; } for(int i=0; i<n; i++) if(p[i]==1 and o[i]==1 and c[i]==1) a[i]=1; for(int i=0; i<n; i++){ if(!a[i] and !vis[i]) asd=0, dfs(i); ans.pb(a[i]); } return ans; } /* int main(){ int n, m; vector<int>o, p, u, v; int x; cin>>n>>m; for(int i=0; i<n; i++) cin>>x, o.pb(x); for(int i=0; i<n; i++) cin>>x, p.pb(x); for(int i=0; i<m; i++) cin>>x, u.pb(x); for(int i=0; i<m; i++) cin>>x, v.pb(x); vector<int>ans=who_wins(o, p, u, v); for(auto i:ans) cout<<i<<' '; }*/
#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...