제출 #1161585

#제출 시각아이디문제언어결과실행 시간메모리
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...