제출 #425908

#제출 시각아이디문제언어결과실행 시간메모리
425908Hazem장난감 기차 (IOI17_train)C++14
0 / 100
1570 ms1480 KiB
#include "train.h" #include <bits/stdc++.h> using namespace std; const int N = 5e3+10; vector<int>adj[N],R,A; unordered_set<int>st; int cnt[N]; int n,m; bool vis[N],ispar[N]; bool dfs(int i,int pre){ if(vis[i]) return 0; ispar[i] = 1;vis[i] = 1; cnt[i] = cnt[pre]+R[i]; bool ret = 0; for(auto x:adj[i]){ ret |= dfs(x,i); if(st.find(x)==st.end()) continue; if(cnt[i]-cnt[x]+R[x]>0)ret = 1; } ispar[i] = 0; return ret; } vector<int>ans,cmp; std::vector<int> who_wins(std::vector<int> a, std::vector<int> r, std::vector<int> u, std::vector<int> v) { n = a.size(),m = u.size(); A = a;R = r; for(int i=0;i<m;i++) adj[u[i]].push_back(v[i]); for(int i=0;i<n;i++){ ans.push_back(dfs(i,n+1)); memset(vis,0,sizeof(vis)); memset(cnt,0,sizeof(cnt)); } return ans; }
#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...