Submission #305521

#TimeUsernameProblemLanguageResultExecution timeMemory
305521shahriarkhanNetwork (BOI15_net)C++14
0 / 100
10 ms12032 KiB
#include<bits/stdc++.h> using namespace std ; const int siz = 5e5 + 69 ; vector<int> adj[siz] ; vector<pair<int,int> > ar ; int deg[siz] ; void dfs(int s , int p) { int cnt = 0 ; for(int t : adj[s]) { if(t==p) continue ; dfs(t,s) ; ++cnt ; } if(!cnt) ar.push_back({p,s}) ; } int main() { int n ; scanf("%d",&n) ; for(int i = 1 ; i < n ; ++i) { int u , v ; scanf("%d%d",&u,&v) ; adj[u].push_back(v) ; adj[v].push_back(u) ; ++deg[u] , ++deg[v] ; } int root = 0 ; for(int i = 1 ; i <= n ; ++i) { if(deg[i]!=1) { root = i ; break ; } } dfs(root,0) ; int six = ar.size() ; printf("%d\n",(six+1)/2) ; sort(ar.begin(),ar.end()) ; if(six%2) { ar.push_back(ar[0]) ; ++six ; } for(int i = 0 ; i < six ; i += 2) { printf("%d %d\n",ar[i].second,ar[i+1].second) ; } return 0 ; }

Compilation message (stderr)

net.cpp: In function 'int main()':
net.cpp:27:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   27 |     scanf("%d",&n) ;
      |     ~~~~~^~~~~~~~~
net.cpp:31:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   31 |         scanf("%d%d",&u,&v) ;
      |         ~~~~~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...