A5782. 「NOIP2013」货车运输
编程题
提高+/省选-
知识点
题目描述
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$。
接下来 $m$ 行每行 $3$ 个整数 $x$、$y$、$z$,每两个整数之间用一个空格隔开,表示从 $x$ 号城市到 $y$ 号城市有一条限重为 $z$ 的道路。注意:$x$ 不等于 $y$,两座城市之间可能有多条道路。
接下来一行有一个整数 $q$,表示有 $q$ 辆货车需要运货。
接下来 $q$ 行,每行两个整数 $x$、$y$,之间用一个空格隔开,表示一辆货车需要从 $x$ 城市运输货物到 $y$ 城市,注意:$x$ 不等于 $y$。
输出格式
输出共有 $q$ 行,每行一个整数,表示对于每一辆货车,它的最大载重是多少。如果货车不能到达目的地,输出 $-1$。
输入输出样例
输入 #1
4 3 1 2 4 2 3 3 3 1 1 3 1 3 1 4 1 3
输出 #1
3 -1 3
说明/提示
对于 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 \leq z \leq 100\,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 \leq z \leq 100\,000$。