Submission #755837

# Submission time Handle Problem Language Result Execution time Memory
755837 2023-06-10T16:39:24 Z JellyTheOctopus Network (BOI15_net) C++17
0 / 100
7 ms 12024 KB
// Baltic Olympiad in Informatics 2015 Day 1 Problem 3
// Network
// https://oj.uz/problem/view/BOI15_net

#include <bits/stdc++.h>
using namespace std;

int N;
vector<int> adjList[500001];
vector<int> leaf;

void DFS(int node, int parent) {
	int numOfVertices = 0;
	for (auto child: adjList[node]) {
		numOfVertices++;
		if (child != parent) {
			DFS(child, node);
		}
	}
	if (numOfVertices == 1) {
		leaf.push_back(node);
	}
}

int main() {
	cin >> N;
	for (int i = 1; i < N; i++) {
		int u, v;
		cin >> u >> v;
		adjList[u].push_back(v);
		adjList[v].push_back(u);
	}
	DFS(1, -1);
	int k = (int)leaf.size();
	if (k % 2 == 0) {
		cout << k/2 << "\n";
		for (int i = 0; i < k/2; i++) {
			cout << leaf[i] << " " << leaf[i+k/2] << "\n";
		}
	}
	else {
		cout << k/2+1 << "\n";
		for (int i = 0; i < k/2; i++) {
			cout << leaf[i] << " " << leaf[i+k/2] << "\n";
		}
		cout << leaf[k/2] << " " << 1 << "\n";
	}
}
# Verdict Execution time Memory Grader output
1 Correct 6 ms 11988 KB Output is correct
2 Correct 7 ms 12024 KB Output is correct
3 Correct 7 ms 11988 KB Output is correct
4 Incorrect 7 ms 11988 KB Breaking single line is causing network to disconnect.
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 6 ms 11988 KB Output is correct
2 Correct 7 ms 12024 KB Output is correct
3 Correct 7 ms 11988 KB Output is correct
4 Incorrect 7 ms 11988 KB Breaking single line is causing network to disconnect.
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 6 ms 11988 KB Output is correct
2 Correct 7 ms 12024 KB Output is correct
3 Correct 7 ms 11988 KB Output is correct
4 Incorrect 7 ms 11988 KB Breaking single line is causing network to disconnect.
5 Halted 0 ms 0 KB -