#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
const int N = 500000;
vector<int> ej[N];
int qu[N], cnt;
void dfs(int p, int i) {
if (ej[i].size() == 1) {
qu[cnt++] = i;
return;
}
for (int j : ej[i])
if (j != p)
dfs(i, j);
}
int main() {
ios_base::sync_with_stdio(false), cin.tie(NULL);
int n; cin >> n;
for (int h = 0; h < n - 1; h++) {
int i, j; cin >> i >> j, i--, j--;
ej[i].push_back(j);
ej[j].push_back(i);
}
int r = 0;
while (ej[r].size() == 1)
r++;
dfs(-1, r);
cout << (cnt + 1) / 2 << '\n';
for (int l = 0, r = cnt / 2; r < cnt; l++, r++)
cout << qu[l] + 1 << ' ' << qu[r] + 1 << '\n';
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |