Submission #951410

# Submission time Handle Problem Language Result Execution time Memory
951410 2024-03-21T23:10:13 Z Doncho_Bonboncho Network (BOI15_net) C++14
0 / 100
5 ms 23936 KB
#include <bits/stdc++.h>
using namespace std;

template< class T, class T2 > inline bool chkmin( T& a, const T2& b ){ return a > b ? a = b, 1 : 0; }
template< class T, class T2 > inline bool chkmax( T& a, const T2& b ){ return a < b ? a = b, 1 : 0; }

#ifndef LOCAL
#define cerr if( false )cerr
#endif

#define out(x) #x << " = " << x << "  "

typedef long long ll;

const int MAX_N = 1e6 + 42;
const ll mod = 1e9 + 7;

std::vector< int > v[MAX_N];
int main (){

#ifndef LOCAL
	std::ios_base::sync_with_stdio( false ); std::cin.tie( NULL ); std::cout.tie( NULL );
#endif

	int n;
	std::cin >> n;

	for( int i=0 ; i < n-1 ; i++ ){
		int a, b;
		std::cin >> a >> b;
		a--; b--;
		v[a].push_back( b );
		v[b].push_back( a );
	}

	std::vector< int > leaves;
	for( int i=0 ; i < n ; i++ ){
		if( v[i].size() == 1 ) leaves.push_back( i );
	}

	srand( 120 );
	std::random_shuffle( leaves.begin(), leaves.end() );

	ll nas = leaves.size() / 2;
	if( leaves.size() & 1 ){
		nas ++;
		std::cout << nas << endl;
		std::cout << leaves.back() +1 << " " << leaves[leaves.size()-2] +1 << endl;
		leaves.pop_back();
	}else{
		std::cout << nas << endl;
	}

	for( int i=0 ; i < leaves.size() ; i += 2 ){
		std::cout << leaves[i] +1 << " " << leaves[ i +1 ] +1 << endl;
	}

	return 0;
}

Compilation message

net.cpp: In function 'int main()':
net.cpp:54:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |  for( int i=0 ; i < leaves.size() ; i += 2 ){
      |                 ~~^~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 5 ms 23900 KB Output is correct
2 Incorrect 5 ms 23936 KB Breaking single line is causing network to disconnect.
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 23900 KB Output is correct
2 Incorrect 5 ms 23936 KB Breaking single line is causing network to disconnect.
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 23900 KB Output is correct
2 Incorrect 5 ms 23936 KB Breaking single line is causing network to disconnect.
3 Halted 0 ms 0 KB -