# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1142768 | CDuong | City (JOI17_city) | C++20 | 270 ms | 22716 KiB |
#include "Encoder.h"
#include <bits/stdc++.h>
#define taskname ""
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define i64 long long
#define isz(x) (int)x.size()
using namespace std;
void Encode(int N, int A[], int B[]) {
vector<vector<int>> g(N);
for (int i = 0; i < N - 1; ++i) {
int u = A[i], v = B[i];
g[u].emplace_back(v);
g[v].emplace_back(u);
}
int tdfs = 0;
vector<i64> tin(N), tout(N);
auto dfs = [&](auto self, int u, int p) -> void {
tin[u] = tdfs++;
for (auto v : g[u]) if (v != p) {
self(self, v, u);
}
tout[u] = tdfs;
};
dfs(dfs, 0, -1);
for (int i = 0; i < N; ++i) Code(i, tin[i] << 18 | tout[i]);
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |