题目名称 1169. 速度限制
输入输出 speed.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatar王者自由 于2012-10-17加入
开放分组 全部用户
提交状态
分类标签
最短路
分享题解
通过:3, 提交:7, 通过率:42.86%
Gravatar隨風巽 100 0.346 s 2.26 MiB C++
Gravatar王者自由 100 0.823 s 4.99 MiB C++
Gravatarzhengtn03 100 2.279 s 4.31 MiB C++
Gravatar隨風巽 90 0.345 s 2.26 MiB C++
Gravatarzhengtn03 90 2.343 s 4.31 MiB C++
Gravatarzhengtn03 0 9.075 s 1.47 MiB C++
Gravatarzhengtn03 0 10.000 s 1.47 MiB C++
关于 速度限制 的近10条评论(全部评论)
最短路的变形,保存每个点的指向点和速度,记录路径。
Gravatar王者自由
2012-10-29 09:12 1楼

1169. 速度限制

★★   输入文件:speed.in   输出文件:speed.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

    在这个繁忙的社会中,我们往往不再去选择最短的道路,而是选择最快的路线。开车时每条道路的限速成为最关键的问题。不幸的是,有一些限速的标志丢失了,因此你无法得知应该开多快。一种可以辩解的解决方案是,按照原来的速度行驶。你的任务是计算两地间的最快路线。

    你将获得一份现代化城市的道路交通信息。为了使问题简化,地图只包括路口和道路。每条道路是有向的,只连接了两条道路,并且最多只有一块限速标志,位于路的起点。两地AB,最多只有一条道路从A连接到B。你可以假设加速能够在瞬间完成并且不会有交通堵塞等情况影响你。当然,你的车速不能超过当前的速度限制。

【输入】

    输入文件SPEED.IN的第一行是3个整数NMD(2<N<=150),表示道路的数目,用0..N-1标记。M是道路的总数,D表示你的目的地。接下来的M行,每行描述一条道路,每行有4个整数A(0A<N)B(0B<N)V(0V500)and L(1L500),这条路是从AB的,速度限制是V,长度为L。如果V0,表示这条路的限速未知。如果V不为0,则经过该路的时间T=L/V。否则T=L/VoldVold是你到达该路口前的速度。开始时你位于0点,并且速度为70

【输出】

输出文件SPEED.OUT仅一行整数,表示从0D经过的城市。

输出的顺序必须按照你经过这些城市的顺序,以0开始,以D结束。仅有一条最快路线。

【样例】

speed.in                     speed.out

6 15 1                       0 5 2 3 1

0 1 25 68

0 2 30 50

0 5 0 101

1 2 70 77

1 3 35 42

2 0 0 22

2 1 40 86

2 3 0 23

2 4 45 40

3 1 64 14

3 5 0 23

4 1 95 8

5 1 0 84

5 2 90 64

5 3 36 40