railway.cpp: In function 'void solve()':
railway.cpp:52:12: error: missing template arguments before 'up'
52 | vector up(LOG, vector(n, 0));
| ^~
railway.cpp:53:35: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
53 | auto tour = [&](int u, int p, auto&& tour) -> void {
| ^~~~
railway.cpp: In lambda function:
railway.cpp:56:13: error: 'up' was not declared in this scope; did you mean 'u'?
56 | up[i][u] = up[i - 1][up[i - 1][u]];
| ^~
| u
railway.cpp:58:19: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
58 | for (auto [v, id] : adj[u]) if (v != p) {
| ^
railway.cpp:60:13: error: 'up' was not declared in this scope; did you mean 'u'?
60 | up[0][v] = u, taken[v] = id;
| ^~
| u
railway.cpp:61:28: error: expression cannot be used as a function
61 | tour(v, u, tour);
| ^
railway.cpp: In function 'void solve()':
railway.cpp:64:24: error: no match for call to '(solve()::<lambda(int, int, int&&)>) (int, int, solve()::<lambda(int, int, int&&)>&)'
64 | }; tour(0, -1, tour);
| ^
railway.cpp:53:17: note: candidate: 'solve()::<lambda(int, int, int&&)>'
53 | auto tour = [&](int u, int p, auto&& tour) -> void {
| ^
railway.cpp:53:17: note: no known conversion for argument 3 from 'solve()::<lambda(int, int, int&&)>' to 'int&&'
railway.cpp: In lambda function:
railway.cpp:71:29: error: 'up' was not declared in this scope; did you mean 'u'?
71 | if (!isAncestor(up[i][u], v)) {
| ^~
| u
railway.cpp:75:16: error: 'up' was not declared in this scope; did you mean 'u'?
75 | return up[0][u];
| ^~
| u