Submission #1161585

#TimeUsernameProblemLanguageResultExecution timeMemory
1161585mnbvcxz123Network (BOI15_net)C++20
100 / 100
251 ms47244 KiB
#include<bits/stdc++.h> using namespace std; using ll=long long; constexpr int N=5e5+5; int n; vector<int>g[N]; int deg[N]; vector<int>s; void dfs(int v, int e){ if(deg[v]==1){ s.push_back(v); return; } for(const int&i:g[v]){ if(i==e)continue; dfs(i,v); } } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); cin>>n; for(int i=1,a,b;i<n;++i){ cin>>a>>b; g[a].push_back(b); g[b].push_back(a); ++deg[a]; ++deg[b]; } for(int i=1;i<=n;++i) if(deg[i]>1){ dfs(i,-1); break; } int ans=s.size(); cout<<(ans+1)/2<<'\n'; for(int i=0;i<(ans+1)/2;++i) cout<<s[i]<<' '<<s[i+ans/2]<<'\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...