#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |