제출 #1195691

#제출 시각아이디문제언어결과실행 시간메모리
1195691AvianshToy Train (IOI17_train)C++20
0 / 100
171 ms1404 KiB
#include "train.h" #include <bits/stdc++.h> using namespace std; bool k = 0; void cyc(int st, vector<int>g[], bool vis[], int orig){ vis[st]=1; if(st==orig){ k=1; } for(int i : g[st]){ if(vis[i]) continue; cyc(i,g,vis,orig); } } bool ch = 0; void check(int st, vector<int>g[],bool vis[], bool val[]){ vis[st]=1; if(val[st]) ch=1; for(int i : g[st]){ if(vis[i]) continue; check(i,g,vis,val); } } vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) { vector<int>ans; int n = a.size(); int m = u.size(); for(int i : a){ assert(i); } vector<int>g[n]; for(int i = 0;i<m;i++){ g[u[i]].push_back(v[i]); } bool valid[n]; fill(valid,valid+n,0); bool vis[n]; for(int i = 0;i<n;i++){ if(r[i]){ k=0; fill(vis,vis+n,0); cyc(i,g,vis,i); if(k) valid[i]=1; } } for(int i = 0;i<n;i++){ ch=0; fill(vis,vis+n,0); check(i,g,vis,valid); ans.push_back(ch); } 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...