#include "stations.h"
#include <vector>
#include <algorithm>
using namespace std;
int t = 1;
void DFS(int node,int parent,vector<vector<int>>& adj,vector<int>& tin,vector<int>& tout) {
tin[node] = t++;
for (int nenode : adj[node]) {
if (nenode != parent) {
DFS(nenode,node,adj,tin,tout);
}
}
tout[node] = t - 1;
}
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);
}
vector<int> tin(n + 1);
vector<int> tout(n + 1);
t = 1;
DFS(1,0,adj,tin,tout);
for (int i = 1; i <= n; i++)
{
labels[i - 1] = tin[i];
}
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... |