Submission #1213413

#TimeUsernameProblemLanguageResultExecution timeMemory
1213413minhpkNetwork (BOI15_net)C++20
0 / 100
12 ms23880 KiB
#include <bits/stdc++.h>
#define int long long
using namespace std;
int a;
vector<int> z[1000005];
vector <int> v;
bool check[100005];
int par[1000005];
void dfs(int i,int parent){
    par[i]=parent;
    for (auto p:z[i]){
         if (p!=parent){
             continue;
         }
         dfs(p,i);
    }
}
signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cin >> a;
    for (int i=1;i<a;i++){
         int x,y;
         cin >> x >> y;
         z[y].push_back(x);
         z[x].push_back(y);
    }
    for (int i=1;i<=a;i++){
         if (z[i].size()==1){
            // cout << "ok" << "\n";
             check[i]=true;
             v.push_back(i);
         }
    }
    dfs(1,0);

    int k=v.size();
    cout << (k+1)/2 << "\n";
    if (k%2==1){
        int x=v[k-1];
        for (int i=1;i<=a;i++){
             if (!check[i] && par[x]!=i){
                 v.push_back(i);
                 break;
             }
        }
    }
    for (int i=0;i<v.size();i+=2){
         cout << v[i] << " " << v[i+1] << "\n";
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...