#G626092. [GESP202609 六级 C++] 27. 分树规划

提交1 通过1
通过率100%
时间限制1000ms
内存限制512MiB

题目描述

题目描述

老师有一棵有 nn 个结点的树,结点依次以 1,2,,n1,2,\ldots,n 编号。

老师想将这棵树作为奖品分给两位同学。具体而言,老师会选择一条边并从树上删去它,从而将这棵树分为两个连通块。两位同学分别可以得到其中一个连通块。

如果有同学拿到的连通块结点数明显小于另一位同学,那么这位同学会不太高兴。为了避免这种情况出现,老师想知道两个连通块结点数之差的绝对值最小是多少。

输入格式

第一行,一个正整数 nn,表示结点数量。

接下来 n1n-1 行,每行两个正整数 ui,viu_i,v_i,表示一条连接结点 uiu_i 和结点 viv_i 的边。

输出格式

输出一行,一个整数,表示答案。

样例

输入样例 1

4
1 2
2 3
3 4

输出样例 1

0

输入样例 2

6
1 2
1 3
1 4
1 5
5 6

输出样例 2

2

数据范围

对于 40%40\% 的测试点,保证 2n5002\le n\le500

对于所有测试点,保证 2n2×1042\le n\le2\times10^4。输入给出一棵树。