# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
377944 | smax | Werewolf (IOI18_werewolf) | C++17 | 890 ms | 115416 KiB |
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 "werewolf.h"
#include <bits/stdc++.h>
using namespace std;
struct DSU {
int ti, comp;
vector<int> par, in, out, order;
vector<vector<int>> adj;
DSU(int n) : ti(0), comp(n), par(n), in(n), out(n), order({n}), adj(n) {
iota(par.begin(), par.end(), 0);
}
int find(int u) {
return u == par[u] ? u : par[u] = find(par[u]);
}
void unite(int u, int v) {
u = find(u);
v = find(v);
if (u == v)
return;
comp--;
par.push_back((int) par.size());
par[u] = par[v] = (int) par.size() - 1;
in.emplace_back();
out.emplace_back();
adj.push_back({u, v});
}
# | 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... |