Submission #1215399

#TimeUsernameProblemLanguageResultExecution timeMemory
1215399brintonSplit the Attractions (IOI19_split)C++20
11 / 100
72 ms14404 KiB
#include <bits/stdc++.h>
#include "split.h"

using namespace std;

vector<int> find_split(int N, int a, int b, int c, vector<int> p, vector<int> q) {
	vector<vector<int>> edges(N);
	vector<int> color(N,3);
	for(int i = 0;i < p.size();i++){
		edges[p[i]].push_back(q[i]);
		edges[q[i]].push_back(p[i]);
	}

	vector<int> vis(N,false);
	int gt = 0;
	function<void(int)> dfs = [&](int cur){
		if(gt < b) color[cur] = 2;
		gt++;
		vis[cur] = true;
		for(auto nxt:edges[cur]){
			if(vis[nxt]) continue;
			dfs(nxt);
		}
	};
	dfs(0);
	for(auto &i:color){
		if(i == 3) {
			i = 1;
			break;
		}
	}
	return color;
}
#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...