#60. 拉帮结派的土拨鼠团伙
拉帮结派的土拨鼠团伙
Background
土拨鼠桐桐拥有庞大的家族, 这一天, 土拨鼠桐桐想要知道如果他想拉帮结派组成一个"犯罪团伙", 需要花费多少金币收买土拨鼠亲戚.
Description
给你一棵土拨鼠桐桐家族的族谱, 这是一棵树, 老祖父的为根节点1, 每一个节点都表示一只土拨鼠, 起初, 土拨鼠桐桐可以任选一个位置作为起点, 消耗点"金币". 然后你可以拉拢你已入伙的土拨鼠的父亲节点花费的"金币", 也可以花费的金币去拉拢已经入伙的土拨鼠的子节点.
你现在想知道, 你拉拢只土拨鼠的最小花费金币是多少?
Format
Input
输入共行.
第一行输入三个整数.
接下来行每行输入两个正整数, 表示族谱树中的一条边(不确定谁是父亲节点, 谁是子节点).
Output
输出共行, 每行输出一个整数.
第行表示时最小的.
Samples
样例1
5 1 2
1 2
2 3
3 4
4 5
1
2
3
4
5
样例解释1
这棵树是一条链。
对于 选取最下方的 号节点,往上走 个节点,每次向上是消耗为 的金币。
所以对于 ,输出 。
样例2
5 2 3
1 2
1 3
4 2
2 5
1
3
5
8
11
样例解释2
时,随便选择一个节点,花费为 。
时,选择除了一号节点外的任意一个节点,花费为 ,然后选择一个父节点,花费为 ,总花费为 。
时,与 同理。
时,选择最长的链的同时,需要分出一个枝杈,多花费 。
时,分出两个枝杈,多花费 ,总答案为 。
Limitation
对于 的数据,。
对于另外 的数据,。
对于所有数据,。
注意
文件重定向, tree.in, tree.out