Submission #1316036

#TimeUsernameProblemLanguageResultExecution timeMemory
1316036nikaa123기지국 (IOI20_stations)C++20
0 / 100
3 ms564 KiB
#include <bits/stdc++.h> #include "stations.h" using namespace std; void dfs(int x, int p, int& t, int d, vector<vector<int>>& g, vector<int>& labels) { int in = t++; for (auto to:g[x]) { if (to != p) dfs(to,x,t,d+1,g,labels); } int out = t-1; if (d%2) { labels[x] = in; } else { labels[x] = out; } } vector<int> label(int n, int k, vector<int> u, vector<int> v) { vector<int> labels(n); vector <vector<int>> g(n); for (int i = 0; i < n-1; i++) { g[u[i]].push_back(v[i]); g[v[i]].push_back(u[i]); } int t = 0; dfs(0,0,t,0,g,labels); return labels; } int find_next_station(int s, int t, vector<int> c) { int n = c.size(); if (s <= c[0]) { for (int i = 0; i < n-1; i++) { int in = s+1; int out = c[i]; if (in <= t && t <= out) { return c[i]; } } return c[n-1]; } for (int i = n-1; i > 0; i--) { int in = c[i]; int out = s-1; if (in <= t && t <= out) return c[i]; } return c[0]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...