제출 #298806

#제출 시각아이디문제언어결과실행 시간메모리
298806square1001Split the Attractions (IOI19_split)C++14
11 / 100
141 ms15220 KiB
#include "split.h" #include <vector> #include <algorithm> #include <functional> using namespace std; vector<int> find_split(int N, int A, int B, int C, vector<int> ea, vector<int> eb) { int M = ea.size(); vector<vector<int> > G(N); for(int i = 0; i < M; ++i) { G[ea[i]].push_back(eb[i]); G[eb[i]].push_back(ea[i]); } if(A == 1) { // subtask 2 (11 points) vector<bool> vis(N, false); int cnt = 0; vector<int> ans(N, -1); function<void(int)> dfs = [&](int pos) { if(cnt < B) { ++cnt; ans[pos] = 2; } vis[pos] = true; for(int i : G[pos]) { if(!vis[i]) { dfs(i); } } }; dfs(0); *find(ans.begin(), ans.end(), -1) = 1; for(int i = 0; i < N; ++i) { if(ans[i] == -1) ans[i] = 3; } return ans; } return vector<int>(); }
#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...