제출 #401133

#제출 시각아이디문제언어결과실행 시간메모리
401133dxz05기지국 (IOI20_stations)C++14
52.32 / 100
1214 ms788 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; const int MAXN = 1011; vector<int> g[MAXN]; int tin[MAXN], last[MAXN], timer = 0; void dfs(int v, int p){ tin[v] = last[v] = timer++; for (int u : g[v]){ if (u != p){ dfs(u, v); last[v] = last[u]; } } } vector<int> label(int n, int k, vector<int> U, vector<int> V) { for (int i = 0; i < n; i++) g[i].clear(); timer = 0; for (int i = 0; i < n - 1; i++){ g[U[i]].push_back(V[i]); g[V[i]].push_back(U[i]); } dfs(0, -1); vector<int> labels(n, 0); for (int i = 0; i < n; i++){ labels[i] = tin[i] * 1000 + last[i]; } return labels; } int find_next_station(int s, int t, vector<int> c) { int ans = c[0]; t /= 1000; for (int v : c){ int x = v / 1000, y = v % 1000; if (x <= t && t <= y) ans = v; } return ans; }
#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...