Submission #726021

#TimeUsernameProblemLanguageResultExecution timeMemory
726021alvingogoSplit the Attractions (IOI19_split)C++14
7 / 100
77 ms10052 KiB
#include "split.h"
#include <bits/stdc++.h>
using namespace std;

vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) {
	int m=p.size();
	vector<vector<int> > e(n);
	for(int i=0;i<m;i++){
		e[p[i]].push_back(q[i]);
		e[q[i]].push_back(p[i]);
	}
	vector<int> ans(n);
	int rt=0;
	for(int i=0;i<n;i++){
		if(e[i].size()==1){
			rt=i;
			break;
		}
	}
	vector<int> gg;
	vector<int> vis(n);
	for(int i=rt;!vis[i];){
		vis[i]=1;
		gg.push_back(i);
		for(auto h:e[i]){
			if(!vis[h]){
				i=h;
				break;
			}
		}
	}
	for(int i=0;i<a;i++){
		ans[gg[i]]=1;
	}
	for(int i=a;i<a+b;i++){
		ans[gg[i]]=2;
	}
	for(int i=a+b;i<n;i++){
		ans[gg[i]]=3;
	}
	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...