Submission #1242676

#TimeUsernameProblemLanguageResultExecution timeMemory
1242676iyedooSplit the Attractions (IOI19_split)C++20
11 / 100
44 ms10568 KiB
#include "split.h"

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

vector<vector<int>> graph;
vector<bool> visited;
vector<int> ans;

int cnt = 0;
int B;

void dfs(int u){
	if (cnt == B) return;
	cnt++;
	visited[u] = 1;
	ans[u] = 2;
	for (int v: graph[u]) if (!visited[v])dfs(v);
}

vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) {
	int cnt = 0;

	B = b;

	graph.resize(n);
	visited.assign(n, 0);
	ans.assign(n, 3);

	for (int i = 0; i < p.size(); ++i) {
		graph[p[i]].push_back(q[i]);
		graph[q[i]].push_back(p[i]);
	}

	dfs(0);
	for (int i = 0; i < n; i++) {
		if (ans[i] == 3) {
			ans[i] = 1;
			break;
		}
	}

	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...