Submission #1202588

#TimeUsernameProblemLanguageResultExecution timeMemory
1202588GrayNetwork (BOI15_net)C++20
0 / 100
0 ms328 KiB
#include <algorithm>
#include <bits/stdc++.h>
#include <cassert>
using namespace std;
#define ll long long
#define ff first
#define ss second
#define ln "\n"
const ll MOD = 998244353;
const ll INF = 2e18;

void solve(){
    ll n; cin >> n;
    vector<ll> deg(n);
    for (ll i=0; i<n-1; i++){
        ll u, v; cin >> u >> v; u--; v--;
        deg[u]++; deg[v]++;
    }
    ll cnt=0; vector<ll> lf;
    for (ll i=0; i<n; i++){
        if (deg[i]==1) {lf.push_back(i); cnt++;}
    }
    cout << cnt%2+cnt/2 << ln;
    for (ll i=1; i<(ll)lf.size(); i+=2){
        cout << lf[i-1]+1 << " " << lf[i]+1 << ln;
    }
    if (lf.size()%2){
        cout << lf[0]+1 << " " << lf.back()+1 << ln;
    }
    // ll n, m; cin >> n >> m;
    // vector<vector<ll>> a(n, vector<ll>(m));
    // for (ll i=0; i<n; i++){
    //     for (ll j=0; j<m; j++){
    //         char g; cin >> g;
    //         if (g=='R') a[i][j]=2;
    //         else if (g=='G') a[i][j]=1;
    //     }
    // }

}

int main(){
    ios_base::sync_with_stdio(0); cin.tie(nullptr);
    ll t=1;
    // cin >> t;
    while (t--) solve();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...