#P5619. 电话网络

电话网络

题目描述

FarmerJohn{Farmer John}决定为他的所有奶牛都配备手机,以此鼓励她们互相交流。不过,为此FJ{FJ}必须在奶牛们居住的N(1<=N<=10,000){N(1 <= N <= 10,000)}块草地中选一些建上无 线电通讯塔,来保证任意两块草地间都存在手机信号。

所有的N{N}块草地按1..N{1..N }顺次编号。 所有草地中只有N1{N-1}对是相邻的,不过对任意两块草地A{A}B(1<=A<=N{B(1 <= A <= N}; 1<=B<=N{1 <= B <= N}; A!=B){A != B),}都可以找到一个以A{A}开头以B{B}结尾的草地序列,并且序列中相邻的编号所代表的草地相邻。

无线电通讯塔只能建在草地上,一座塔的服务范围为它所在的那块草地,以及与那块草地相邻的所有草地。

请你帮FJ{FJ}计算一下,为了建立能覆盖到所有草地的通信系统,他最少要建多少座无线电通讯塔。

输入格式

1{1}行: 1{1}个整数,N{N}

2..N{2..N}行: 每行为2{2}个用空格隔开的整数A{A}B{B,}为两块相邻草地的编号

输出格式

1{1}行: 输出1{1}个整数,即FJ{FJ}最少建立无线电通讯塔的数目

样例

输入样例

5
1 3
5 2
4 3
3 5

输出样例

2

提示

输入说明:

FarmerJohn{Farmer John}的农场中有5{5}块草地:草地1{1}和草地3{3}相邻,草地5{5}和草地2{2}、草地 4{4}和草地3{3,}草地3{3}和草地5{5}也是如此。

输出说明:

FJ{FJ}可以选择在草地2{2}和草地3{3,}或是草地3{3}和草地5{5}上建通讯塔。