#include "sphinx.h"
#include <iostream>
using namespace std;
vector<int> adj[5000];
vector<int> colors;
void dfs(int u, int C) {
colors[u] = C;
for (int v : adj[u]) if (colors[v] == -1) {
dfs(v, C);
}
}
vector<int> find_colours(int N, vector<int> X, vector<int> Y) {
if (N == 2) {
int x = perform_experiment({-1, -1});
int y = 2 - perform_experiment({-1, 1});
if (x == 1) {
return {y, y};
} else {
return {y, y ^ 1};
}
}
int M = X.size();
for (int i = 0; i < M; i++) {
vector<int> query(N, N);
query[X[i]] = query[Y[i]] = -1;
if (perform_experiment(query) == 2) {
adj[X[i]].push_back(Y[i]);
adj[Y[i]].push_back(X[i]);
}
}
colors.resize(N, -1);
int col = 0;
for (int i = 0; i < N; i++) if (colors[i] == -1) {
dfs(i, col++);
}
return colors;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |