题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4607
参考思路:题目的大意就是给定一颗有n个节点的树,每条边长度为1,然后需要采访k个节点,可以以任意一点为起始节点,问采访完k个节点所走的路径最短为多少。
如果我们知道了树里面距离最远的节点的距离为maxLength,那么我们沿着这条主路径走,如果这条主路径的节点数maxLength+1不够k个,那么我们就在主路径旁边选节点直到够k个,最短路径为maxLength + 2*(k-1 - maxLength)。
源代码: