CF1029E Tree with Small Distances
Description
You are given an undirected tree consisting of $ n $ vertices. An undirected tree is a connected undirected graph with $ n - 1 $ edges.
Your task is to add the minimum number of edges in such a way that the length of the shortest path from the vertex $ 1 $ to any other vertex is at most $ 2 $ . Note that you are not allowed to add loops and multiple edges.
Input Format
N/A
Output Format
N/A
Explanation/Hint
The tree corresponding to the first example:  The answer is $ 2 $ , some of the possible answers are the following: $ [(1, 5), (1, 6)] $ , $ [(1, 4), (1, 7)] $ , $ [(1, 6), (1, 7)] $ .
The tree corresponding to the second example:  The answer is $ 0 $ .
The tree corresponding to the third example:  The answer is $ 1 $ , only one possible way to reach it is to add the edge $ (1, 3) $ .