云栖山涧听松
题号:NC311008
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}Binbong 给定一棵 n 个节点的树,你需要帮助他计算,至少还需要加多少条无向边(可以为重边或自环)才能满足下列条件:
\hspace{23pt}\bullet\,完成加边后,删除任意一条边整个图依旧是连通图

【名词解释】
\hspace{15pt}连通图:如果图中的任意两个顶点之间都存在路径相连,则称这个图是连通图。

输入描述:

\hspace{15pt}第一行输入一个整数 n\left(2\leqq n\leqq 2\times 10^5\right),表示树的节点个数。
\hspace{15pt}此后 n-1 行,第 i 行两个整数 u_i,v_i\left(1\leqq u_i,v_i\leqq n\right),表示第 i 条树边双向连接节点 u_iv_i

输出描述:

\hspace{15pt}输出一个整数,表示最少需要添加的无向边数量。
示例1

输入

复制
5
1 2
1 3
2 4
2 5

输出

复制
2

说明

\hspace{15pt}在这个样例中,其中一种最优解如下图所示,为点对 (5,3)(4,3) 添加一条无向边。实线的边为初始给定的树边,虚线的边为需要添加的边。

示例2

输入

复制
7
1 7
2 1
3 2
4 1
1 5
1 6

输出

复制
3