Submission #1130899

#TimeUsernameProblemLanguageResultExecution timeMemory
1130899ezdubzNetwork (BOI15_net)C++20
0 / 100
8 ms12096 KiB
#include <iostream> 
#include <vector> 
using namespace std; 
#define maxn 500001
vector<int> adj[maxn], l; 
int leaves = 0, n; 
void dfs(int cur, int par) {
    for (int i : adj[cur]) {
        if (i != par) dfs(i, cur); 
    }
    if (adj[cur].size() == 1) {
        leaves++; 
        l.push_back(cur); 
    }
}
int main() {
    cin >> n;
    for (int i = 0; i < n - 1; i++) {
        int a, b; 
        cin >> a >> b; 
        adj[a].push_back(b); 
        adj[b].push_back(a); 
    } 
    for (int i = 0; i < leaves/2; i++) {
        cout << l[i] << " " << l[i + leaves/2 + leaves%2] << endl; 
    }
    if (leaves%2 == 1) cout << 1 << " " << l[leaves/2]; 
} 
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...