Submission #1271514

#TimeUsernameProblemLanguageResultExecution timeMemory
1271514kawhietNetwork (BOI15_net)C++20
100 / 100
182 ms53860 KiB
#include <bits/stdc++.h> using namespace std; const int N = 5e5; vector<int> g[N]; vector<int> lf; void dfs(int u, int p) { if (g[u].size() == 1) { lf.push_back(u + 1); } for (auto v : g[u]) { if (v != p) { dfs(v, u); } } } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; for (int i = 1; i < n; i++) { int u, v; cin >> u >> v; u--; v--; g[u].push_back(v); g[v].push_back(u); } dfs(0, -1); int m = lf.size(); cout << (m + 1) / 2 << '\n'; for (int i = 0; i < m / 2; i++) { cout << lf[i] << ' ' << lf[i + m / 2] << '\n'; } if (m & 1) { cout << lf.back() << ' ' << lf[0] << '\n'; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...