题目链接
解题方法:最短路+建图
题目分析
题目大意
总共有n
个点,m
个集合,每个集合内部两个点之间的移动花费的距离为ti,已知每个集合有哪些点,以及每个集合内部移动的时间,问一个人从1
点出发,一个人从n
点出发,两人相遇时的最短时间是多少,并且求出来可以选择的位置
解析
建图的一道不错的题。
先说想法,对于每一个集合设置一个中心点,然后集合内部的每一个点连接中心点的距离是时间的一半,这样再连接不同的点之间的关系,正反各跑一遍SPFA即可,然后遍历一下每一个点,找出来最接近最短路一半时间的那个时间即可。
因为要用到double,所以我们可以先设置每个点到中心点的距离都是ti
,然后将和除以2即可。
代码
1 |
|