#include <bits/stdc++.h>
using namespace std;
int counter;
vector<int>tree[1005];
vector<int>labels;
void dfs(int cur,int par,int d){
labels[cur] = ++counter;
for(int nxt : tree[cur]){
if(nxt == par) continue;
dfs(nxt,cur,d^1);
}
cout<<cur<<" "<<labels[cur]<<" "<<counter<<'\n';
if(d) labels[cur] = counter;
}
std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
labels = vector<int>(n,-1);
counter = -1;
for(int i=0; i<n; i++) tree[i].clear();
for(int i=0; i<u.size(); i++){
int a = u[i],b = v[i];
tree[a].emplace_back(b);
tree[b].emplace_back(a);
}
dfs(0,-1,0);
return labels;
}
int find_next_station(int s, int t, vector<int>c) {
if (s < c[0]) {
if (t < s || t >= c[c.size() - 1]) return c[c.size() - 1];
for (int i : c) if (i >= t) return i;
return c[c.size() - 1];
}
if (t > s || t <= c[0]) return c[0];
int ans = c[0];
for (int i : c) if (i <= t) ans = i;
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... |