Submission #476085

# Submission time Handle Problem Language Result Execution time Memory
476085 2021-09-24T18:07:30 Z ZaZo_ Network (BOI15_net) C++14
0 / 100
1 ms 1484 KB
#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 = 50005 , INF = 1e15 , MOD=1000000006;
using namespace std;
int n ;
vector<int>edges[N];
vector<int>leaves;
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);
  }
  for(int i = 1 ; i <= n ; i++)
  {
    if(edges[i].size()==1) leaves.push_back(i);
  }
  cout<<(leaves.size()+1)/2<<endl;
  if(leaves.size()%2==0)
  {
    for(int i = 0 ; i < leaves.size()/2 ; i++)
    cout<<leaves[i]<<" "<<leaves[leaves.size()-i-1]<<endl;
  }
  else
  {
    for(int i = 0 ; i < leaves.size()/2 ; i++)
    {
      if(i==leaves.size()-1)  break;
      cout<<leaves[i]<<" "<<leaves[leaves.size()-i-1]<<endl;
    }
    cout<<leaves[leaves.size()/2]<<" ";
    for(int i = 1 ; i <= n ; i++)
    {
      if(i!=leaves.back()&&i!=edges[leaves.back()][0])
      {
        cout<<i<<endl;
        break;
      }
    }
  }
}

Compilation message

net.cpp: In function 'int32_t main()':
net.cpp:27: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]
   27 |     for(int i = 0 ; i < leaves.size()/2 ; i++)
      |                     ~~^~~~~~~~~~~~~~~~~
net.cpp:32: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]
   32 |     for(int i = 0 ; i < leaves.size()/2 ; i++)
      |                     ~~^~~~~~~~~~~~~~~~~
net.cpp:34:11: 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]
   34 |       if(i==leaves.size()-1)  break;
      |          ~^~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1356 KB Output is correct
2 Incorrect 1 ms 1484 KB Breaking single line is causing network to disconnect.
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1356 KB Output is correct
2 Incorrect 1 ms 1484 KB Breaking single line is causing network to disconnect.
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1356 KB Output is correct
2 Incorrect 1 ms 1484 KB Breaking single line is causing network to disconnect.
3 Halted 0 ms 0 KB -