제출 #990720

#제출 시각아이디문제언어결과실행 시간메모리
990720Khanhcsp2Network (BOI15_net)C++14
100 / 100
198 ms57684 KiB
#include <bits/stdc++.h> #define el '\n' #define fi first #define sc second #define int ll #define pii pair<int, int> #define all(v) v.begin(), v.end() using namespace std; using ll=long long; using ull=unsigned long long; using ld=long double; const int mod=1e9+7; const int N=5e5+11; int n, root; vector<int> adj[N], leaf; void dfs(int u, int pa) { if(adj[u].size()==1) leaf.push_back(u); for(int v:adj[u]) { if(v!=pa) dfs(v, u); } } void sol() { cin >> n; for(int i=1;i<n;i++) { int u, v; cin >> u >> v; adj[u].push_back(v); adj[v].push_back(u); } for(int i=1;i<=n;i++) if(adj[i].size()>1) root=i; dfs(root, 0); int sz=leaf.size(); cout << (sz+1)/2 << el; for(int i=0; i<(sz+1)/2; i++) cout << leaf[i] << ' ' << leaf[i + sz / 2] << el; } signed main() { // freopen("divisor.INP", "r", stdin); // freopen("divisor.OUT", "w", stdout); ios_base::sync_with_stdio(0); cin.tie(0); int t=1; //cin >> t; while(t--) { sol(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...