Submission #1180621

#TimeUsernameProblemLanguageResultExecution timeMemory
1180621nguyenkhangninh99Network (BOI15_net)C++20
100 / 100
328 ms69728 KiB
#include<bits/stdc++.h> using namespace std; #define int long long const int maxn = 1e6 + 5; vector<int> g[maxn], ans; void dfs(int u, int pre){ if(g[u].size() == 1) ans.push_back(u); for(int v: g[u]){ if(v == pre) continue; else dfs(v, u); } } signed main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; cin >> n; vector<vector<int>> adj(n + 1, vector<int>()); for(int i = 1; i <= n - 1; i++){ int u, v; cin >> u >> v; g[u].push_back(v); g[v].push_back(u); } dfs(1, 0); cout << (ans.size() + 1) / 2 << "\n"; for(int i = 0; i < ans.size() / 2; i++) cout << ans[i] << " " << ans[i + ans.size() / 2] << "\n"; if(ans.size() & 1) cout << ans.back() << " " << ans[0] << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...