제출 #1252586

#제출 시각아이디문제언어결과실행 시간메모리
1252586aren_dance장난감 기차 (IOI17_train)C++20
0 / 100
216 ms327680 KiB
#include <bits/stdc++.h> #include "train.h" using namespace std; const int N=5001; vector<int> g[N]; bool vis[N]; bool f[N]; bool lav[N]; bool dfs(int node){ vis[node]=1; bool an=0; if(lav[node]){ return 1; } for(auto i:g[node]){ if(vis[i]){ continue; } an=an|dfs(i); } return an; } void dfs2(int node,int root){ for(auto i:g[node]){ if(i==root){ lav[root]=1; return; } if(!vis[i]){ dfs2(i,root); } } } vector<int> who_wins(std::vector<int> a, std::vector<int> r, std::vector<int> u, std::vector<int> v) { int n=a.size(); int m=u.size(); for(int i=0;i<m;++i){ g[u[i]].push_back(v[i]); } for(int i=0;i<n;++i){ f[i]=r[i]; } if(a[0]){ vector<int> answ; for(int i=0;i<n;++i){ for(int j=0;j<n;++j){ vis[j]=0; } if(f[i]){ dfs2(i,i); } } for(int i=0;i<n;++i){ for(int j=0;j<n;++j){ vis[j]=0; } answ.push_back(dfs(i)); } return answ; } return {}; }
#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...