Submission #1311970

#TimeUsernameProblemLanguageResultExecution timeMemory
1311970aaaaaaaaStations (IOI20_stations)C++20
0 / 100
394 ms552 KiB
#include <bits/stdc++.h> #include "stations.h" using namespace std; const int MAXN = 100005; vector<int> adj[MAXN]; int tin[MAXN], tout[MAXN]; int timer; void dfs_label(int u, int p) { tin[u] = timer++; for (int v : adj[u]) { if (v == p) continue; dfs_label(v, u); } tout[u] = timer - 1; } vector<int> label(int n, int k, vector<int> u, vector<int> v) { for (int i = 0; i < n; i++) adj[i].clear(); timer = 0; for (int i = 0; i < (int)u.size(); i++) { adj[u[i]].push_back(v[i]); adj[v[i]].push_back(u[i]); } dfs_label(0, -1); vector<int> labels(n); for (int i = 0; i < n; i++) { labels[i] = tin[i]; } return labels; } int find_next_station(int s, int t, vector<int> c) { for (int v : c) { if (tin[v] <= tin[t] && tin[t] <= tout[v]) { return v; } } return -1; }
#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...