Submission #1202617

#TimeUsernameProblemLanguageResultExecution timeMemory
1202617GrayNetwork (BOI15_net)C++20
0 / 100
0 ms324 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 dfs(ll u, ll p, vector<vector<ll>> &A, vector<ll> &lf){ for (auto v:A[u]){ if (v==p) continue; dfs(v, u, A, lf); } if (A[u].size()==1) lf.push_back(u); } void solve(){ ll n; cin >> n; vector<vector<ll>> A(n); for (ll i=0; i<n-1; i++){ ll u, v; cin >> u >> v; u--; v--; A[u].push_back(v); A[v].push_back(u); } vector<ll> lf; dfs(1, 1, A, lf); vector<pair<ll, ll>> e; for (ll i=2; i<(ll)lf.size(); i++){ e.push_back({lf[i-2], lf[i]}); } if (lf.size()<=3) e.push_back({lf[1], lf[0]}); cout << e.size() << ln; for (auto ch:e) cout << ch.ff+1 << " " << ch.ss+1 << ln; } 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...