# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
408596 | muhammad_hokimiyon | Stations (IOI20_stations) | C++14 | 0 ms | 0 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 "stations.h"
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e3 + 7;
void dfs( vector<vector<int>> adj, int v, int p, vector<int> lb, int &cnt ) {
lb[v] = cnt++;
for ( auto u: adj[v] ) {
if ( u != p ) {
dfs( adj, u, v, lb, cnt );
}
}
if ( p != -1 ) {
lb[v] *= 1000;
lb[v] += cnt - 1;
}
else {
lb[v] *= 1000;
lb[v]++;
}
}
std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
vector<vector<int>> adj(n + 7);
for ( int i = 0; i < n - 1; i++ ) {
adj[ u[i] ].push_back( v[i] );
adj[ v[i] ].push_back( u[i] );
}