2137: 【2013年提高组】货车运输(Day 1)
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:2
解决:2
题目描述
A国有n座城市,编号从1到n,城市之间有m条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有q辆货车在运输货物,司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。
输入
每组输入数据的第一行有两个用一个空格隔开的整数n,m,表示A国有n座城市和m条道路。
接下来m行每行3个整数x、y、z,每两个整数之间用一个空格隔开,表示从x号城市到y号城市有一条限重为z的道路。注意:x不等于y,两座城市之间可能有多条道路。
接下来一行有一个整数q,表示有q辆货车需要运货。
接下来q行,每行两个整数x、y,之间用一个空格隔开,表示一辆货车需要从x城市运输货物到y城市,注意:x不等于y。
数据规模:
对于30%的数据,0<n<1,000,0<m<10,000,0<q<1,000;
对于60%的数据,0<n<1,000,0<m<50,000,0<q<1,000;
对于100%的数据,0<n<10,000,0<m<50,000,0<q<30,000,0≤z≤100,000。
接下来m行每行3个整数x、y、z,每两个整数之间用一个空格隔开,表示从x号城市到y号城市有一条限重为z的道路。注意:x不等于y,两座城市之间可能有多条道路。
接下来一行有一个整数q,表示有q辆货车需要运货。
接下来q行,每行两个整数x、y,之间用一个空格隔开,表示一辆货车需要从x城市运输货物到y城市,注意:x不等于y。
数据规模:
对于30%的数据,0<n<1,000,0<m<10,000,0<q<1,000;
对于60%的数据,0<n<1,000,0<m<50,000,0<q<1,000;
对于100%的数据,0<n<10,000,0<m<50,000,0<q<30,000,0≤z≤100,000。
输出
每组输出共有q行,每行一个整数,表示对于每一辆货车,它的最大载重是多少。如果货车不能到达目的地,输出-1。
样例输入 复制
4 3
1 2 4
2 3 3
3 1 1
3
1 3
1 4
1 3
样例输出 复制
3
-1
3