题目描述
给定一棵有 个结点的树,结点编号为 到 ,树中共有 条边。
你可以从树中选出若干条边,要求任意两条被选中的边没有公共端点(即没有两条边共用同一个结点)。这样的一组边称为这棵树的一个匹配,其中所含边数最多的匹配称为最大匹配。
请你求出最大匹配包含的边数。
输入格式
第一行一个整数 ()。
接下来 行,每行两个整数 (),表示结点 与结点 之间有一条边。保证输入是一棵树。
输出格式
输出一行一个整数,表示最大匹配包含的边数。
样例
样例 1
输入:
4
1 2
2 3
3 4
输出:
2
解释:这是一条 的链,可以选中边 与 ,它们没有公共端点,共 条;不可能选出 条互不共端点的边。
样例 2
输入:
5
1 2
1 3
1 4
1 5
输出:
1
解释:这是一颗以 为中心的星形树, 条边都共用端点 ,任意两条都有公共端点,所以最多只能选 条。
样例 3
输入:
1
输出:
0
解释:只有 个结点、 条边,一条边也选不出来。
数据范围
| 子任务 | 数据点占比 | 的范围 |
|---|---|---|
| 1 | 30% | |
| 2 | 30% | |
| 3 | 40% |
对于 的数据,,输入保证是一棵树。