Submission #1189037

#TimeUsernameProblemLanguageResultExecution timeMemory
1189037rendelNetwork (BOI15_net)C++20
0 / 100
6 ms12100 KiB
#include<bits/stdc++.h> using namespace std; const int maxn = 5e5+5; int deg[maxn]; vector<int> adj[maxn]; bool chk(int i,int j){ for(auto a : adj[i]){ for(auto b : adj[j]){ if(a==b) return false; } } return true; } int main(){ cin.tie(nullptr)->sync_with_stdio(false); cout.tie(0); int n; cin >> n; for(int i=0;i<n-1;++i){ int a,b; cin >> a >> b; adj[a].emplace_back(b); adj[b].emplace_back(a); deg[a]++, deg[b]++; } vector<int> g; for(int i=1;i<=n;++i){ if(deg[i]==1) g.emplace_back(i); } int l=g.size(); cout << (l+1)/2 << '\n'; vector<bool> vis(l,false); vector<int> vec; //for(auto i : g) cout << i << ' '; for(int i=0;i<l/2;++i){ cout << g[i] << ' ' << g[l-i-1] <<'\n'; } if(l%2==1) cout << g[l/2] << ' ' << g[0]; // for(int i=1;i<l;++i){ // if(chk(g[i],g[i-1]) && !vis[i] && !vis[i-1]){ // cout << g[i] << ' ' << g[i-1] << '\n'; // vis[i]=1; vis[i-1]=1; // } // if(!vis[i] && i==l-1) vec.emplace_back(i); // if(!vis[i-1]) vec.emplace_back(i-1); // } // //for(auto i : vec) cout << i << ' '; // if(vec.size()>1){ // for(int i=1;i<vec.size();++i){ // if(!vis[vec[i]] && !vis[vec[i-1]]){ // cout << g[vec[i]] << ' ' << g[vec[i-1]] << '\n'; // vis[vec[i]]=1; vis[vec[i-1]]=1; // } // } // } // for(int i=1;i<l;++i){ // if(!vis[i]){ // cout << g[i] << ' ' << g[i-1] << '\n'; // } // } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...