一个网络由n台计算机、通过n-1条通信链路连接在一起,所以任意两台计算机可以通过唯一的路径进行通信。
两台计算机之间有通信链路相连的话,表示他们是相邻的,一台计算的邻居可以是一组计算机。
为了快速访问和检索大量信息,我们需要选择一些计算机充当服务器为其邻居提供资源。请注意,服务器可以为所有邻居提供服务。
如果每个客户端(非服务器)都是仅由一台服务器提供服务的话,那么网络中的该组服务器能形成最佳性能的服务,能组成最佳服务的最小服务器数量,我们称之为"最佳服务数"。
我们假设n(<=10000)是一个正整数,n台计算机的编号从1到n。
例如,图1说明了一个由六台计算机组成的网络,其中黑色节点表示服务器、白色节点表示客户机。
在图a中,服务器3和5不构成最佳服务,因为客户机4与服务器3和5相邻,客户端4由两个服务器提供服务、会形成冲突。
相反,服务器3和4可以形成了一个最佳服务,如图b所示,这个集合也是最小数量集合,因该例的"最佳服务数"为2。

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