제출 #1168948

#제출 시각아이디문제언어결과실행 시간메모리
1168948JohanNetwork (BOI15_net)C++20
0 / 100
11 ms23876 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int inf = 1e18; const int MAX = 1e6 + 6; vector < int > node; map < pair < int , int > , int > mp; vector < vector < int > > adj(MAX); void dfs(int u, int pa){ if(adj[u].size() == 1) node.push_back(u); for(auto v : adj[u]){ if(v == pa) continue; dfs(v, u); } } signed main(){ int n; cin >> n; for(int i = 1; i < n; i++){ int u, v; cin >> u >> v; mp[{u, v}] = 1; mp[{v, u}] = 1; adj[u].push_back(v); adj[v].push_back(u); } dfs(1, 0); cout << (node.size() + 1) / 2 << endl; for(int i = 0; i < node.size(); i++){ if(node.size() % 2 == 1 && i == node.size() - 1){ cout << node[i] << ' ' << node[0] << endl; return 0; } if(i % 2 == 1) continue; cout << node[i] << ' ' << node[i + 1] << endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...