题目 1756

过路费

查看题解 ↗GitHub ↗如何评测
题号
1756
时间限制
1000 ms
内存限制
256 MB
标签
数据结构
来源
信息学奥赛一本通 · 高手训练篇·四、数据结构(高手训练)

【题目描述】

在某个遥远的国家里,有nn个城市,编号分别为1,2,3,...,n1,2,3,...,n。这个国家的政府修建了mm条双向道路,每条道路连接着两个城市。政府规定从城市SS到城市TT需要收取的过路费为所经过城市之间道路长度的最大值。如:AA到BB长度为22,BB到CC长度为33,那么开车从AA经过BB到CC需要上交的过路费为33。 佳佳是个做生意的人,需要经常开车从任意一个城市到另外一个城市,因此他需要频繁地上交过路费,由于忙于做生意,所以他无时间来寻找交过路费最低的行驶路线。然而,当他交的过路费越多他的心情就变得越糟糕。作为秘书的你,需要每次根据佳佳开车的起止城市,提供给他从开始城市到达目标城市,最少需要上交多少过路费。

【输入】

第一行是两个整数nn 和mm,分别表示城市的个数以及道路的条数。 接下来mm行,每行包含三个整数 a,b,w(1≤a,b≤n,0≤w≤109)a,b,w(1≤a,b≤n,0≤w≤10^9),表示aa与bb之间有一条长度为ww的道路。 接着有一行为一个整数qq,表示佳佳发出的询问个数。 再接下来qq行,每一行包含两个整数S,T(1≤S,T≤n)S,T(1≤S,T≤n), 表示开始城市SS和目标城市TT。

【输出】

输出文件共qq行,每行一个整数,分别表示每个询问需要上交的最少过路费用。输入数据保证所有的城市都是连通的。

【输入样例】

文本
4 5
1 2 10
1 3 20
1 4 100
2 4 30
3 4 10
2
1 4
4 1

【输出样例】

文本
20
20

【提示】

【数据规模】 对于30%的数据,满足1≤n≤1000,1≤m≤10000,1≤q≤1001≤ n≤1000,1≤m≤10000,1≤q≤100。 对于50%的数据,满足1≤n≤10000,1≤m≤10000,1≤q≤100001≤n≤10000,1≤m≤10000,1≤q≤10000。 对于100%的数据,满足1≤n≤10000,1≤m≤100000,1≤q≤100001≤n≤10000,1≤m≤100000,1≤q≤10000。

数据下载

题目 1756 的公开数据

正在读取文件列表…

常用命令

题目 1756 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。