F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

二叉树

Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 49    Accepted Submission(s): 14


Problem Description
给定一棵 $n$ 个节点的树,节点的编号是 $1...n$,1 号点是它的根。

我们想通过一系列操作把它变成一棵二叉树。

对于每次操作,我们可以把一个叶子节点 $x$ 变成另一个节点 $y$ 的儿子,代价是本次操作前 $x$ 与 $y$ 之间的距离(从 $x$ 到 $y$ 的简单路径经过几条边)。

问总代价最小是多少?
 

Input
第一行一个正整数 $test(1 \le test \le 100)$ 表示数据组数。

对于每组数据,第一行一个正整数 $n(1 \le n \le 100)$ 表示节点个数。

接下来 $n-1$ 行,每行两个整数 $x, y(1 \le x, y \le n)$ 描述一条树边。

数据保证读入的是一棵树。
 

Output
对于每组数据,输出一行一个整数表示答案。
 

Sample Input
2 1 4 1 2 1 3 1 4
 

Sample Output
0 2
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-11-22 10:06:18, Gzip enabled