#include "stations.h"
#include <vector>
#include <iostream>
using namespace std;
int const N=1e3+10;
vector<int>nei[N]={};
vector<int>ret;
int tm=0;
void dfs(int u,int p=-1,int dp=0)
{
if (!dp)
ret[u]=tm++;
for (auto i:nei[u])
{
if (i==p) continue;
dfs(i,u,1-dp);
}
if (dp)
ret[u]=tm++;
}
vector<int> label(int n, int k, vector<int> u, vector<int> v)
{
tm=0;
for (int i=0;i<n;i++)
nei[i]={};
ret={};
for (int i=0;i+1<n;i++)
{
nei[u[i]].push_back(v[i]);
nei[v[i]].push_back(u[i]);
}
ret.resize(n);
dfs(0);
return ret;
}
int find_next_station(int s, int t, vector<int> c)
{
if (c.size()==1)
return c[0];
if (s>c.back())// its ending time
{
if (t>s)
return c[0];
int ans=c[0];
for (int j=0;j<c.size();j++)
{
if (t>=c[j])
ans=c[j];
}
return ans;
}
if (t<s)
return c.back();
//starting time
int ans=c.back();
for (int j=c.size()-1;j>=0;j--)
{
if (t<=c[j])
ans=c[j];
}
return ans;
}
# | 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... |