제출 #476096

#제출 시각아이디문제언어결과실행 시간메모리
476096ZaZo_Network (BOI15_net)C++14
100 / 100
660 ms43088 KiB
#include <bits/stdc++.h> #define HID ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define int long long #define all(v) v.begin(),v.end() const int N = 500010 , INF = 1e15 , MOD=1000000006; using namespace std; int n ; vector<int>edges[N]; vector<int>leaves; void dfs(int node , int par) { if(edges[node].size()==1) leaves.push_back(node); for(auto x : edges[node]) if(x!=par) dfs(x,node); } int32_t main() { HID cin>>n; for(int i = 0 ; i < n-1 ; i++) { int u , v; cin >> u >> v; edges[u].push_back(v); edges[v].push_back(u); } dfs(1,-1); cout<<(leaves.size()+1)/2<<endl; if(leaves.size()%2==0) { for(int i = 0 ; i < (leaves.size()+1)/2 ; i++) cout<<leaves[i]<<" "<<leaves[(leaves.size()+1)/2+i]<<endl; } else { for(int i = 0 ; i < (leaves.size()+1)/2 ; i++) { if((leaves.size()+1)/2+i>=leaves.size()) break; cout<<leaves[i]<<" "<<leaves[(leaves.size()+1)/2+i]<<endl; } cout<<leaves[(leaves.size())/2]<<" "; for(int i = 1 ; i <= n ; i++) { if(i!=leaves[(leaves.size()+1)/2]&&i!=edges[leaves[(leaves.size()+1)/2]][0]) { cout<<i<<endl; break; } } } }

컴파일 시 표준 에러 (stderr) 메시지

net.cpp: In function 'int32_t main()':
net.cpp:31:23: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |     for(int i = 0 ; i < (leaves.size()+1)/2 ; i++)
      |                     ~~^~~~~~~~~~~~~~~~~~~~~
net.cpp:36:23: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |     for(int i = 0 ; i < (leaves.size()+1)/2 ; i++)
      |                     ~~^~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...