编程题
旅行时的困惑
### 题目描述
Waldives 有 $N$ 个小岛。目前的交通系统中包含 $N-1$ 条快艇专线,每条快艇专线连接两个岛。这 $N-1$ 条快艇专线恰好形成了一棵树。
由于特殊的原因,所有 $N-1$ 条快艇专线都是单向的。这导致了很多岛屿之间不能相互到达。因此,Waldives 政府希望新建一些公交线路,使得建设完毕后,任意两个小岛都可以互相到达。为了节约开支,政府希望建设最少的公交线路。
同时,出于规划考虑,每一条公交线路都有如下的要求:
1. 每一条交通线路包含若干条连续的快艇专线,你可以认为一条公交线路对应树上的一条路径,而其所包含的若干快艇专线则对应树上被这条路径所覆盖的树边(也就是之前已经存在的某个快艇专线);
2. 显然一条交通线路只能覆盖树上任意一条边至多一次;
3. 公交线路中所包含的每一个快艇专线都是有方向的,并且与其所覆盖的树边的方向相反;
4. 不同的公交线路可以覆盖树上相同的点或者相同的边。
Waldives 的 $N$ 个岛屿分别从 $0$ 到 $N-1$ 编号。现在给出 Waldives 已有的快艇专线信息,请计算最少所需要新建的交通线路的数量。
### 输入描述
第一行包含一个整数 $N$。
接下来 $N-1$行,每行包含两个整数 $x,~y$。表示存在一条从岛屿 $x$ 开往岛屿 $y$ 的快艇专线。
其中,$1~\leq~N~\leq~10^5$。
### 输出描述
输出一行一个整数,表示需要建设的最少的交通线路数量。
### 输入输出样例
#### 示例 1
>输入
``` txt
4
0 1
1 2
1 3
```
>输出
``` txt
2
```