제출 #1189067

#제출 시각아이디문제언어결과실행 시간메모리
1189067rendelNetwork (BOI15_net)C++20
0 / 100
7 ms12104 KiB
#include<bits/stdc++.h> using namespace std; const int maxn = 5e5+5; int deg[maxn],h[maxn]; vector<int> adj[maxn]; void dfs(int u,int p){ for(auto v : adj[u]){ if(v==p) continue; h[v]=h[u]+1; dfs(v,u); } } int main(){ cin.tie(nullptr)->sync_with_stdio(false); cout.tie(0); int n; cin >> n; for(int i=0;i<n-1;++i){ int a,b; cin >> a >> b; adj[a].emplace_back(b); adj[b].emplace_back(a); deg[a]++, deg[b]++; } dfs(1,0); vector<pair<int,int>> g; for(int i=1;i<=n;++i){ if(deg[i]==1) g.emplace_back(h[i],i); } int l=g.size(); cout << (l+1)/2 << '\n'; sort(g.begin(),g.end()); for(int i=0;i<l/2;++i){ cout << g[i].second << ' ' << g[l-i-1].second <<'\n'; } if(l%2==1) cout << g[l-1].second << ' ' << g[l/2].second ; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...