Submission #1189060

#TimeUsernameProblemLanguageResultExecution timeMemory
1189060JungPSNetwork (BOI15_net)C++20
0 / 100
0 ms324 KiB
#include<bits/stdc++.h> using namespace std; vector<int> vec[2007]; vector<int> edge; vector<int> cp; bool visited[2007]; void dfs(int x,int p){ if(visited[x]) return ; visited[x]=true; if(vec[x].size()==1) edge.push_back(x); for(auto i:vec[x]){ if(i==p) continue; if(visited[i]) continue; dfs(i,x); } } signed main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int n; cin >> n; for(int i=0;i<n-1;++i){ int a,b; cin >> a >> b; vec[a].push_back(b); vec[b].push_back(a); } int mn=1e9; for(int i=1;i<=n;++i){ memset(visited,0,sizeof(visited)); edge.clear(); dfs(i,-1); if(edge.size()<mn){ mn=edge.size(); cp=edge; } } cout << (cp.size()+1)/2 << '\n'; for(int i=0;i<cp.size();i+=2){ if(i+1>=cp.size()){ cout << cp[0] << " " << cp[i] << '\n'; continue; } cout << cp[i] << " " << cp[i+1] << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...