Submission #497810

#TimeUsernameProblemLanguageResultExecution timeMemory
497810MilosMilutinovicStations (IOI20_stations)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; const int N = 1005; const int L = 10; int par[N][L], dep[N]; std::vector<int> G[N]; void dfs_init(int u, int p) { par[u][0] = p; for (int i = 1; i < L; ++i) if (par[u][i - 1] != -1) par[u][i] = par[par[u][i - 1]][i - 1]; for (int v : G[u]) if (v != p) dep[v] = dep[u] + 1, dfs_init(v, u); } int lca(int u, int v) { if (dep[u] < dep[v]) swap(u, v); for (int i = L - 1; ~i; --i) if (par[u][i] != -1 && dep[par[u][i]] >= dep[v]) u = par[u][i]; if (u == v) return u; for (int i = L - 1; ~i; --i) if (par[u][i] != par[v][i]) u = par[u][i], v = par[v][i]; return (u == v ? u : par[u][0]); } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { for (int i = 0; i < n - 1; ++i) { G[u[i]].push_back(v[i]); G[v[i]].push_back(u[i]); } dfs_init(0, -1); std::vector<int> l(n); iota(l.begin(), l.end(), 0); return l; } int find_next_station(int s, int t, std::vector<int> c) { assert(s < n && t < n); std::vector<int> path; int l = lca(s, t); while (s != -1 && dep[s] >= dep[l]) { path.push_back(s); s = par[s][0]; } while (t != -1 && dep[t] >= dep[l]) { path.push_back(t); t = par[t][0]; } int node = 0; for (int i : path) for (int j : c) if (i == j) node = j; return node; }

Compilation message (stderr)

In file included from /usr/include/c++/10/cassert:44,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:33,
                 from stations.cpp:1:
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:47:13: error: 'n' was not declared in this scope
   47 |  assert(s < n && t < n);
      |             ^