제출 #436529

#제출 시각아이디문제언어결과실행 시간메모리
436529PiejanVDC열쇠 (IOI21_keys)C++17
0 / 100
2562 ms204 KiB
#include "keys.h" #include <bits/stdc++.h> using namespace std; vector<int> find_reachable(vector<int> r, vector<int> u, vector<int> v, vector<int> c) { int n = r.size(), m = u.size(); vector<int>adj[n]; for(int i = 0 ; i < m ; i++) { adj[u[i]].push_back(v[i]); adj[v[i]].push_back(u[i]); } vector<int>ans(n,0); bool all=true; for(int i = 0 ; i < n ; i++) { if(r[i] != 0 || (int)adj[i].size()==0) { all=false; ans[i]=1; } } if(all) { vector<int>v; int mx=0; for(int i = 0 ; i < n ; i++) { stack<int>s; s.push(i); vector<bool>vis(n,false); int cnt=0; while(!s.empty()) { int node = s.top(); s.pop(); cnt++; for(auto z : adj[node]) { if(!vis[z]) s.push(z); } } if(cnt > mx) { v.clear(); v.push_back(i); mx=cnt; } else if(mx == cnt) { v.push_back(i); } } for(auto z : v) { ans[z] = 1; } } 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...