Google Code Jam 2014 Round 1 A:Problem B. Full Binary Tree
2014-04-26 10:30
633 查看
Problem
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 X and Y in a rooted tree, we say that Y is a child of X if X is closer to the root than Y (in other words, the shortest path from the root to X is shorter than the shortest path from the root to Y).
A full binary tree is a rooted tree where every node has either exactly 2 children or 0 children.
You are given a tree G with N nodes (numbered from 1 to N). 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
The first line of the input gives the number of test cases, T. T test cases follow. The first line of each test case contains a single integer N, the number of nodes in the tree. The following N-1 lines each one will contain two space-separated integers: Xi Yi, indicating that G contains an undirected edge between Xi and Yi.Output
For each test case, output one line containing "Case #x: y", where x is the test case number (starting from 1) and y is the minimum number of nodes to delete from G to make a full binary tree.Limits
1 ≤ T ≤ 100. 1 ≤ Xi, Yi ≤ N Each test case will form a valid connected tree.Small dataset
2 ≤ N ≤ 15.Large dataset
2 ≤ N ≤ 1000.Sample
Input | Output |
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 | Case #1: 0 Case #2: 2 Case #3: 1 |
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).
相关文章推荐
- Google Code Jam Qualification Round 2014 Problem D. Deceitful War 题解
- Google Code Jam 2014 Round 1 A:Problem A Charging Chaos
- Google Code Jam 2014 Round 1 A:Problem C. Proper Shuffle
- Google Code Jam 2014 Round 1B Problem B
- Google Code Jam Qualification Round 2014 Problem A. Magic Trick 题解
- Google Code Jam Qualification Round 2014 Problem B. Cookie Clicker Alpha 题解
- Google Code Jam 2014 Qualification Round C.Minesweeper Master 和 Microsoft某实习机试试题(快速求组合)
- Google Code Jam Africa 2010 Qualification Round Problem B. Reverse Words
- 【Google Code Jam 2009 round2 problem D】Watering Plants (两圆交点求法详解)
- Google Code Jam 2009 Qualification Round Problem A. Alien Language
- Google Code Jam 2016 Round 1B Problem C. Technobabble
- Google CodeJam 2014 Round 1C
- Google Code Jam 2012 Qualification Round. Problem D. Hall of Mirrors
- Google Code Jam 2014 资格赛:Problem B. Cookie Clicker Alpha
- Google Code Jam 2009 Qualification Round Problem B. Watersheds
- Google Code Jam 2014 资格赛:Problem C. Minesweeper Master
- Google CodeJam Qualification Round 2014
- Google Code Jam 2009 Qualification Round Problem C. Welcome to Code Jam
- Google Code Jam 2014 资格赛:Problem D. Deceitful War
- Google Code jam Qualification Round 2015 --- Problem A. Standing Ovation