#include "bits/stdc++.h"
#include "stations.h"
using namespace std;
vector<int> lab;
vector<vector<int> > adj;
int tval;
void dfs(int node, int par, int x){
   if(x) lab[node] = tval++;
   for(auto itr: adj[node]){
      if(itr == par) continue;
      dfs(itr, node, (x^1));
   }
   if(!x) lab[node] = tval++;
}
vector<int> label(int n, int k, vector<int> u, vector<int> v) {
   lab.assign(n, 0);
   adj.resize(n);
   tval = 0;
   for(int i = 0; i < n; i++){
      adj[i].clear();
   }
   for(int i = 0; i < n-1; i++){
      adj[u[i]].push_back(v[i]);
      adj[v[i]].push_back(u[i]);
   }
   dfs(0, 0, 0);
   return lab;
}
int find_next_station(int s, int t, vector<int> c) {
   if(s > c.back()) reverse(c.begin(), c.end());
   for(auto itr: c){
      if(min(itr, s) <= t && max(itr, s) >= t) return itr;
   }
   return c.back();
}
| # | 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... |