Submission #1211497

#TimeUsernameProblemLanguageResultExecution timeMemory
1211497sula2스핑크스 (IOI24_sphinx)C++20
3 / 100
41 ms1048 KiB
#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 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...
#Verdict Execution timeMemoryGrader output
Fetching results...