Submission #348031

#TimeUsernameProblemLanguageResultExecution timeMemory
348031tengiz05Split the Attractions (IOI19_split)C++17
0 / 100
68 ms9024 KiB
#include "split.h" #ifndef EVAL #include "grader.cpp" #endif #include <bits/stdc++.h> #define pb push_back using namespace std; const int N = 1e5+5; int n, m; vector<int> edges[N]; vector<int> find_split(int N, int a, int b, int c, vector<int> p, vector<int> q) { n=N; m = p.size(); for(int i=0;i<m;i++){ edges[p[i]].pb(q[i]); edges[q[i]].pb(p[i]); } vector<int> ans(n,3); int u=-1; for(int i=0;i<n;i++)if(edges[i].size() == 1)u=i; assert(~u); vector<bool> used(n); for(int i=0;i<a;i++){ ans[u] = 1; used[u] = true; if(edges[u].size()==1)u=edges[u][0]; else { if(used[edges[u][0]])u=edges[u][1]; else u=edges[u][0]; } } for(int i=0;i<b;i++){ ans[u] = 2; used[u] = true; if(edges[u].size()==1)u=edges[u][0]; else { if(used[edges[u][0]])u=edges[u][1]; else u=edges[u][0]; } } 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...