A tree is a connected graph with no cycles.
A rooted tree is a tree in which one special vertex is called the root. If there is an edge between and
in a rooted tree, we say that
is a child of
if
is closer to the root than
(in other words, the shortest path from the root to
is shorter than the shortest path from the root to
).
A full binary tree is a rooted tree where every node has either exactly 2 children or 0 children.
You are given a tree with
nodes (numbered from
to
). You are allowed to delete some of the nodes. When a node is deleted, the edges connected to the deleted node are also deleted. Your task is to delete as few nodes as possible so that the remaining nodes form a full binary tree for some choice of the root from the remaining nodes.
Input Specification
The first line of the input gives the number of test cases, .
test cases follow. The first line of each test case contains a single integer
, the number of nodes in the tree. The following
lines each one will contain two space-separated integers:
, indicating that
contains an undirected edge between
and
.
Output Specification
For each test case, output one line containing Case #x: y
, where is the test case number (starting from 1) and
is the minimum number of nodes to delete from
to make a full binary tree.
Limits
Memory limit: 1 GB.
.
.
Each test case will form a valid connected tree.
Small Dataset
Time limit: 60 seconds.
.
Large Dataset
Time limit: 120 seconds.
.
Sample Input
3
3
2 1
1 3
7
4 5
4 2
1 2
3 1
6 4
3 7
4
1 2
2 3
3 4
Sample Output
Case #1: 0
Case #2: 2
Case #3: 1
In the first case, is already a full binary tree (if we consider node 1 as the root), so we don't need to do anything.
In the second case, we may delete nodes 3 and 7; then 2 can be the root of a full binary tree.
In the third case, we may delete node 1; then 3 will become the root of a full binary tree (we could also have deleted node 4; then we could have made 2 the root).
Note
This problem has different time limits for different batches. If you exceed the Time Limit for any batch, the judge will incorrectly display >120.000s
regardless of the actual time taken. Refer to the Limits section for batch-specific time limits.
Comments