#include "stations.h"
#include <vector>
#include <algorithm>
using namespace std;
int t = 1;
void DFS(int node,int parent, int odd, vector<vector<int>>& adj, vector<int>& labels) {
if (odd) labels[node - 1] = t++;
for (int nenode : adj[node]) {
if (nenode != parent) {
DFS(nenode,node,1 - odd,adj,labels);
}
}
if (!odd) labels[node - 1] = t++;
}
vector<int> label(int n, int k, vector<int> u, vector<int> v)
{
vector<int>labels(n);
vector<vector<int>>adj(n + 1);
for (int i = 0; i < n - 1; i++)
{
int u1 = u[i];
int v1 = v[i];
adj[u1].push_back(v1);
adj[v1].push_back(u1);
}
t = 1;
DFS(1,0,1,adj,labels);
return labels;
}
int find_next_station(int s,int t,vector<int> c)
{
int next = -1;
sort(c.begin(), c.end());
for (int st : c) {
if (st <= t) next = st;
}
if (next == -1) next = c[0];
return next;
}
| # | 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... |