# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
320465 | nikatamliani | Stations (IOI20_stations) | C++14 | 1097 ms | 1324 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 <bits/stdc++.h>
#include "stations.h"
using namespace std;
void dfs(int x, int p, vector < vector < int > > &adj, vector < int > &labels, int depth) {
static int timer = -1;
++timer;
if(depth) labels[x] = timer;
for(int to : adj[x]) {
if(to != p) {
dfs(to, x, adj, labels, depth ^ 1);
}
}
++timer;
if(!depth) labels[x] = timer;
}
vector < int > label(int n, int k, vector < int > u, vector < int > v) {
vector < int > labels(n);
vector< vector < int > > adj(n, vector < int >());
for(int i = 0; i < n - 1; ++i) {
adj[u[i]].push_back(v[i]);
adj[v[i]].push_back(u[i]);
}
dfs(0, -1, adj, labels, 0);
vector < vector < int > > g;
for(int i = 0; i < n; ++i) {
g.push_back({labels[i], i});
}
sort(g.begin(), g.end());
for(int i = 0; i < n; ++i) {
labels[g[i][1]] = i;
Compilation message (stderr)
# | 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... |