#include "stations.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> g[200001];
vector<int> l;
int used[200001];
void dfs(int i,int h)
{
used[i]=1;
if(i<l.size())l[i]=h;
for(int j=0; j<g[i].size(); j++)
{
int nb=g[i][j];
if(!used[nb])dfs(nb,h+1000);
}
}
std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v)
{
l.clear();
for(int i=0;i<n;i++)
l.push_back(0);
for(int i=0; i<n; i++)
g[i].clear(),used[i]=0;
for(int i=0; i<n-1; i++)
g[u[i]].push_back(v[i]),g[v[i]].push_back(u[i]);
for(int i=0; i<n; i++)
{
if(g[i].size()>2)
{
l[i]=0;
used[i]=1;
for(int j=0; j<g[i].size(); j++)
{
dfs(g[i][j],j+1);
}
return l;
}
}
if(!used[0])dfs(0,1);
return l;
}
int find_next_station(int s, int t, std::vector<int> c)
{
return c[0];
if(c.size()==1)return c[0];
//cout<<s<<" ! "<<t<<endl;
if(s%1000==t%1000)
{
if(s<t)return c[1];
return c[0];
}
if(s==0)
return t%1000;
if(s<1000)return 0;
return s-1000;
}
# | 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... |