#include <bits/stdc++.h>
#include "stations.h"
using namespace std;
void dfs(int a,int b,vector<vector<int>>&g,vector<pair<int,int>>&res,int &timer,int d)
{
if(d%2==0)res.push_back({timer,a});
timer++;
for(auto i:g[a])
{
if(i!=b)dfs(i,a,g,res,timer,d+1);
}
if(d%2==1)res.push_back({timer,a});
timer++;
}
vector<int> label(int n, int k, vector<int> u, vector<int> v)
{
vector<vector<int>>g(n);
vector<int>ans(n);
for(int i=0;i<n-1;i++)
{
g[u[i]].push_back(v[i]);
g[v[i]].push_back(u[i]);
}
vector<pair<int,int>>res;
int timer;
dfs(0,0,g,res,timer,0);
sort(res.begin(),res.end());
for(int i=0;i<n;i++)
{
ans[res[i].second]=i;
}
return ans;
}
int find_next_station(int s, int t, vector<int> v)
{
if(s==0)
{
for(auto i:v)
{
if(t<=i)return i;
}
}
else if(v[0]<s)
{
for(int i=1;i<v.size();i++)
{
if(i+1==v.size())
{
if(v[i]<=t&&t<s)return v[i];
}
else
{
if(v[i]<=t&&t<v[i+1])return v[i];
}
}
return v[0];
}
else
{
for(int i=0;i<v.size()-1;i++)
{
if(i==0)
{
if(s<t&&t<=v[i])return v[i];
}
else
{
if(v[i-1]<t&&t<=v[i])return v[i];
}
}
return v[v.size()-1];
}
}
컴파일 시 표준 에러 (stderr) 메시지
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:73:1: warning: control reaches end of non-void function [-Wreturn-type]
73 | }
| ^
# | 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... |