답안 #95939

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
95939 2019-02-04T15:01:29 Z luciocf Network (BOI15_net) C++14
0 / 100
10 ms 12024 KB
#include <bits/stdc++.h>

using namespace std;

const int maxn = 5e5+10;

typedef pair<int, int> pii;

vector<int> grafo[maxn], leaf;

int main(void)
{
	srand(42);

	int n;
	cin >> n;

	for (int i = 1; i < n; i++)
	{
		int u, v;
		cin >> u >> v;

		grafo[u].push_back(v);
		grafo[v].push_back(u);
	}

	int root;
	for (int i = 1; i <= n; i++)
	{
		if (grafo[i].size() > 1) root = i;
		else leaf.push_back(i);
	}

	if (leaf.size()&1) leaf.push_back(root);

	int ans = leaf.size()/2;

	random_shuffle(leaf.begin(), leaf.end());

	cout << ans << "\n";
	for (int i = 0; i < leaf.size(); i += 2)
		cout << leaf[i] << " " << leaf[i+1] << "\n";
}

Compilation message

net.cpp: In function 'int main()':
net.cpp:41:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < leaf.size(); i += 2)
                  ~~^~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 10 ms 12024 KB Output is correct
2 Incorrect 10 ms 12024 KB Breaking single line is causing network to disconnect.
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 10 ms 12024 KB Output is correct
2 Incorrect 10 ms 12024 KB Breaking single line is causing network to disconnect.
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 10 ms 12024 KB Output is correct
2 Incorrect 10 ms 12024 KB Breaking single line is causing network to disconnect.
3 Halted 0 ms 0 KB -