Submission #830076

#TimeUsernameProblemLanguageResultExecution timeMemory
830076t6twotwoMousetrap (CEOI17_mousetrap)C++17
25 / 100
713 ms73332 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N, t, m; cin >> N >> t >> m; t--, m--; vector<vector<int>> adj(N); for (int i = 0; i < N - 1; i++) { int x, y; cin >> x >> y; x--, y--; if (minmax(x, y) == minmax(m, t)) { continue; } adj[x].push_back(y); adj[y].push_back(x); } vector<int> f(N); auto dfs = [&](auto dfs, int x, int p) -> void { vector<int> s; for (int y : adj[x]) { if (y == p) { continue; } dfs(dfs, y, x); s.push_back(f[y]); } sort(s.rbegin(), s.rend()); if (s.empty()) { return; } if (s.size() == 1) { f[x] = 1; return; } f[x] = s[1] + s.size(); }; dfs(dfs, m, -1); cout << f[m] << "\n"; return 6/22; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...