POJ 2502(dijkstra+建图)
题目:输入x1,y1,x2,y2表示起点和终点的坐标。接下来输入地铁线 0 0 10000 1000 0 200 5000 200 7000 200 -1 -1 2000 600 5000 600 10000 600 -1 -1 起点(0,0),终点(10000,1000)第一条地铁线是(0,200)--(5000,200)--(7000,200)第二条是--------------------------(自己看)文件结束输入哦主角是可以从任意点走到任意点的,速度是10000/60,坐地铁的话不用等,速度是40000/60;地铁是可以在中间站下车的例如(0,200)这样的点。双向的,而且两个相邻中间站的中间站之间是直线问:从起点到终点的最快时间思路:建图很重要,主角可以从起点走到终点,也可以从地铁的中间站上车。 要注意,假如有个地铁线路,我或许从第二个站台下车,直接走到第四个站台更快,所以当存地铁线路时候,当前站台(如果不是第一个)和上一个站台建立速度为40000/60的地铁线,而和上上个站台或许更上个站台建立速度为10000/60的路。注意double #include <iostream> #include <cmath> #include <cstdio> #include <cstring> #include <string> #include <map>