#CSES1672. 最短路径 II

最短路径 II

题目背景

翻译自 CSES-1672 题。

题目描述

nn 个城市和 mm 条航班连接它们。你的任务是处理 qq 个查询,每个查询要求你确定两个给定城市之间的最短路径长度。

输入格式

第一行包含三个整数 nn, mmqq:分别表示城市的数量、道路的数量和查询的数量。

接下来有 mm 行,每行描述一条道路。每行包含三个整数 aa, bbcc:表示城市 aa 和城市 bb 之间有一条道路,长度为 cc。所有道路都是双向的。

然后有 qq 行,每行描述一个查询。每行包含两个整数 aabb:你需要确定城市 aa 和城市 bb 之间的最短路径长度。

输出格式

对于每个查询,输出两城市之间的最短路径长度。如果没有路径,输出 1−1

样例

4 3 5
1 2 5
1 3 9
2 3 3
1 2
2 1
1 3
1 4
3 2
5
5
8
-1
3

说明/提示

1n5001 \leq n \leq 500

1mn21 \leq m \leq n^2

1q1051 \leq q \leq 10^5

1a,bn1 \leq a,b \leq n

1c1091 \le c \le 10^9