Problem2843--Perfect Service

2843: Perfect Service

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 0  Solved: 0
[Status] [Submit] [Creator:]

Description

一个网络由n台计算机、通过n-1条通信链路连接在一起,所以任意两台计算机可以通过唯一的路径进行通信。
两台计算机之间有通信链路相连的话,表示他们是相邻的,一台计算的邻居可以是一组计算机。
为了快速访问和检索大量信息,我们需要选择一些计算机充当服务器为其邻居提供资源。请注意,服务器可以为所有邻居提供服务。
如果每个客户端(非服务器)都是仅由一台服务器提供服务的话,那么网络中的该组服务器能形成最佳性能的服务,能组成最佳服务的最小服务器数量,我们称之为"最佳服务数"。


我们假设n(<=10000)是一个正整数,n台计算机的编号从1到n。
例如,图1说明了一个由六台计算机组成的网络,其中黑色节点表示服务器、白色节点表示客户机。
在图a中,服务器3和5不构成最佳服务,因为客户机4与服务器3和5相邻,客户端4由两个服务器提供服务、会形成冲突。
相反,服务器3和4可以形成了一个最佳服务,如图b所示,这个集合也是最小数量集合,因该例的"最佳服务数"为2。

你的任务就是,写一个程序来计算出"最佳服务数"

Input

输入有多组测试用例,每个测试用例的格式如下:
第1行包含一个正整数n,它表示网络中的计算机数量。
接下来n-1行、每行表示一条链路、由两个空格分隔的正整数构成,正整数表示计算机编号
当输入为0时表示一组测试用例结束,当输入为-1时表示所有输入结束

Output

每个测试用例输出一行、是一个正整数,即网络的"最佳服务数"。

Sample Input Copy

6
1 3
2 3
3 4
4 5
4 6
0
2
1 2
-1

Sample Output Copy

2
1

Source/Category