Submission #1302296

#TimeUsernameProblemLanguageResultExecution timeMemory
1302296amrharbRace (IOI11_race)C++20
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> #define int long long using namespace std; signed main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int n, k; cin >> n >> k; vector<vector<int> > adj(n); for (int i = 1; i < n; i++) { int x, y; cin >> x >> y, --x, --y; adj[x].push_back(y); adj[y].push_back(x); } vector<bool> visited(n); vector<int> sz(n); function<void(int,int)> dfs_sz = [&](int u,int p) { sz[u] = 1; for (auto v: adj[u]) { if (v == p || visited[v])continue; dfs_sz(v, u); sz[u] += sz[v]; } }; vector<int> dist; function<void(int,int,int)> dfs = [&](int u,int p,int cur) { dist.push_back(cur); for (auto v: adj[u]) { if (v == p || visited[v])continue; dfs(v, u, cur + 1); } }; function<int(int,int,int)> find_centroid = [&](int u,int p,int size) { for (auto v: adj[u]) { if (v == p || visited[v])continue; if (sz[v] > size / 2) return find_centroid(v, u, size); } return u; }; vector<int> cnt(n + 1); int ans = 0; function<void(int)> decompose = [&](int u) { dfs_sz(u, -1); int centroid = find_centroid(u, -1, sz[u]); visited[centroid] = true; cnt[0] = 1; for (auto v: adj[centroid]) { if (visited[v])continue; dist.clear(); dfs(v, centroid, 1); for (auto d: dist) { if (d <= k) ans += cnt[k - d]; } for (auto d: dist) { cnt[d]++; } } for (int i = 0; i <= sz[u]; i++)cnt[i] = 0; for (auto v: adj[centroid]) { if (visited[v])continue; decompose(v); } }; decompose(0); cout << ans; return 0; }

Compilation message (stderr)

/usr/bin/ld: /tmp/ccNcyKC3.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccm5PtUk.o:race.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccNcyKC3.o: in function `main':
grader.cpp:(.text.startup+0x28): undefined reference to `best_path(int, int, int (*) [2], int*)'
collect2: error: ld returned 1 exit status