#题面
#题目描述
Chris 家的电话铃响起了,里面传出了 Chris 的老师焦急的声音:“喂,是 Chris 的家长吗?你们的孩子又没来上课,不想参加考试了吗?”一听说要考试,Chris 的父母就心急如焚,他们决定在尽量短的时间内找到 Chris。他们告诉 Chris 的老师:“根据以往的经验,Chris 现在必然躲在朋友 Shermie 或 Yashiro 家里偷玩《拳皇》游戏。现在,我们就从家出发去找 Chris,一旦找到,我们立刻给您打电话。”说完砰的一声把电话挂了。
Chris 居住的城市由 个居住点和若干条连接居住点的双向街道组成,经过街道 需花费 分钟。可以保证,任意两个居住点间有且仅有一条通路。Chris 家在点 ,Shermie 和 Yashiro 分别住在点 和点 。Chris 的老师和 Chris 的父母都有城市地图,但 Chris 的父母知道点 、、 的具体位置而 Chris 的老师不知。
为了尽快找到 Chris,Chris 的父母会遵守以下两条规则:
- 如果 距离 比 距离 近,那么 Chris 的父母先去 Shermie 家寻找 Chris,如果找不到,Chris 的父母再去 Yashiro 家;反之亦然。
- Chris 的父母总沿着两点间唯一的通路行走。
显然,Chris 的老师知道 Chris 的父母在寻找 Chris 的过程中会遵守以上两条规则,但由于他并不知道 、、 的具体位置,所以现在他希望你告诉他,最坏情况下 Chris 的父母要耗费多长时间才能找到 Chris?
#输入格式
输入文件第一行是两个整数 和 ,分别表示居住点总数和街道总数。
以下 行,每行给出一条街道的信息。第 行包含整数 、、,表示街道 连接居住点 和 ,并且经过街道 需花费 分钟。街道信息不会重复给出。
#输出格式
输出文件仅包含整数 ,即最坏情况下 Chris 的父母需要花费 分钟才能找到 Chris。
#输入输出样例
样例输入 #1
4 3
1 2 1
2 3 1
3 4 1
样例输出 #1
4
#数据范围与约定
对于 的数据,,,。
#思路
据说这题还有另一版题面,叫「数据生成器」。
首先,题目中保证了任意两个居住点间有且仅有一条通路,所以这个图是一棵树,那么这道题就是一个树上问题了。
其次,由题意可以得出 、、 三点不会重合。
那么显然有 、 一定在树的直径的两端,因为只有在这两个位置才能保证选择的 点到 点的距离和到 点之间的距离的最小值最大。
那么确定了 点和 点的位置以后,再求出 、 两点分别到各点的最短距离,然后枚举 点的位置即可。
最后的答案就是 。
#代码
1 |
|