This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "game.h"
#include <algorithm>
int n, num_comps;
int par[2000];
int find(int u) {
if (par[u] == u) {
return u;
}
return par[u] = find(par[u]);
}
void initialize(int nn) {
n = nn;
for (int i = 0; i < n; i++) {
par[i] = i;
}
num_comps = n;
}
int hasEdge(int u, int v) {
if (find(u) == find(v)) {
return 1;
}
if(num_comps > 2) {
if(u > v) {
std::swap(u, v);
}
par[find(u)] = find(v);
num_comps--;
return 1;
} else {
return 0;
}
return 1;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |