Submission #749846

# Submission time Handle Problem Language Result Execution time Memory
749846 2023-05-28T18:04:42 Z JellyTheOctopus Network (BOI15_net) C++17
0 / 100
8 ms 12048 KB
#include <bits/stdc++.h>
using namespace std;

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

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

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