题意:n个点的树,给出n-1条边,每条边长都是1,两个点建立防火站,使得其他点到防火站的最远距离最短。
思路:先求出树的直径,直径上的所有点都存到一个数组里。如果直径是奇数,把中间的那条边删去;如果是偶数,把中间的点,分
到两边的子树。对两个子树分别求树直径的中点即可。详见代码:
/*********************************************************
file name: zoj3820.cpp
author : kereo
create time: 2015年02月08日 星期日 15时31分32秒
*********************************************************/
#include
#include
#include
#include
#include
#include