Submission #1270606

#TimeUsernameProblemLanguageResultExecution timeMemory
1270606bjp123Network (BOI15_net)C++20
100 / 100
194 ms50596 KiB
#include <bits/stdc++.h> #define ll long long #define fi first #define se second #define pb push_back #define ii pair<ll, ll> #define all(a) a.begin(), a.end() #define iii pair<ll,ii> using namespace std; const ll N =1e6+5; const ll mod = 998244353; const ll inf=1e18; ll n,i,j,m,q,k,t,x,y; vector<ll> v[N],ans; ll timedfs=0; void dfs(ll u,ll p) { ++timedfs; if(v[u].size()==1) ans.pb(u); for(auto x:v[u]) if(x!=p) dfs(x,u); } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); cin>>n; for(i=1;i<n;i++) { cin>>x>>y; v[x].pb(y); v[y].pb(x); } for(i=1;i<=n;i++) if(v[i].size()>1) { dfs(i,0); // solve ll sz=ans.size(); cout<<(sz+1)/2<<'\n'; for(i=0;i+(sz+1)/2<sz;i++) cout<<ans[i]<<" "<<ans[i+(sz+1)/2]<<'\n'; if(sz&1) cout<<ans[sz/2]<<" "<<i<<'\n'; return 0; } return 0; } /* */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...