2888 - 送快递

题目描述

A 市有 N 个社区(编号 1 \sim N),由 M 条双向的道路连接这些社区。

该市共有 B 个快递员,每个快递员都有一个快递运送任务,第 i 个快递员,目前位于位置为 P_i 的社区,他需要去编号为 1 的社区(该社区设有快递中转站)领取快递包裹,再将该包裹送到编号为 Q_i 的社区。

请编程计算出对于每个快递员完成快递任务,需要走到的最短路是多少?

输入

1 行读入 3 个整数 N,M,B

接下来 M 行,每行读入 3 个整数 u,v,len,表示编号为 u,v 的社区之间有一条长度为 len 的双向道路。

接下来 B 行,每行有两个整数 P_i,Q_i,表示快递员的位置和他要去的社区编号。

输出

输出 B 行,分别针对 B 个快递任务,计算出最短路。

样例

输入

6 7 3 
1 2 3 
5 4 3 
3 1 1 
6 1 9 
3 4 2 
1 4 4 
3 2 2 
2 4 
5 1 
3 6 

输出

6 
6 
10 
说明

数据范围

对于 100\% 的数据,1 \le B \le 250002 \times B \le N \le 50000N-1 \le M \le 1000001 \le u,v \le N1 \le len \le 20001 \le P_i,Q_i \le N

测试数据确保每个快递员都一定有边能够使其从 P_i1 ,再到 Q_i

来源

东方博宜OJ

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 89
通过人数 50
金币数量 2 枚
难度 基础


上一题 下一题