A13773 | Reducing Delivery Cost
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
You are a mayor of Berlyatov. There are $n$ districts and $m$ two-way roads between them. The $i$ -th road connects districts $x_i$ and $y_i$ . The cost of travelling along this road is $w_i$ . There is some path between each pair of districts, so the city is connected.
There are $k$ delivery routes in Berlyatov. The $i$ -th route is going from the district $a_i$ to the district $b_i$ . There is one courier on each route and the courier will always choose the cheapest (minimum by total cost) path from the district $a_i$ to the district $b_i$ to deliver products.
The route can go from the district to itself, some couriers routes can coincide (and you have to count them independently).
You can make at most one road to have cost zero (i.e. you choose at most one road and change its cost with $0$ ).
Let $d(x, y)$ be the cheapest cost of travel between districts $x$ and $y$ .
Your task is to find the minimum total courier routes cost you can achieve, if you optimally select the some road and change its cost with $0$ . In other words, you have to find the minimum possible value of $\sum\limits_{i = 1}^{k} d(a_i, b_i)$ after applying the operation described above optimally.
There are $k$ delivery routes in Berlyatov. The $i$ -th route is going from the district $a_i$ to the district $b_i$ . There is one courier on each route and the courier will always choose the cheapest (minimum by total cost) path from the district $a_i$ to the district $b_i$ to deliver products.
The route can go from the district to itself, some couriers routes can coincide (and you have to count them independently).
You can make at most one road to have cost zero (i.e. you choose at most one road and change its cost with $0$ ).
Let $d(x, y)$ be the cheapest cost of travel between districts $x$ and $y$ .
Your task is to find the minimum total courier routes cost you can achieve, if you optimally select the some road and change its cost with $0$ . In other words, you have to find the minimum possible value of $\sum\limits_{i = 1}^{k} d(a_i, b_i)$ after applying the operation described above optimally.
输入格式
The first line of the input contains three integers $n$ , $m$ and $k$ ( $2 \le n \le 1000$ ; $n - 1 \le m \le min(1000, \frac{n(n-1)}{2})$ ; $1 \le k \le 1000$ ) — the number of districts, the number of roads and the number of courier routes.
The next $m$ lines describe roads. The $i$ -th road is given as three integers $x_i$ , $y_i$ and $w_i$ ( $1 \le x_i, y_i \le n$ ; $x_i \ne y_i$ ; $1 \le w_i \le 1000$ ), where $x_i$ and $y_i$ are districts the $i$ -th road connects and $w_i$ is its cost. It is guaranteed that there is some path between each pair of districts, so the city is connected. It is also guaranteed that there is at most one road between each pair of districts.
The next $k$ lines describe courier routes. The $i$ -th route is given as two integers $a_i$ and $b_i$ ( $1 \le a_i, b_i \le n$ ) — the districts of the $i$ -th route. The route can go from the district to itself, some couriers routes can coincide (and you have to count them independently).
The next $m$ lines describe roads. The $i$ -th road is given as three integers $x_i$ , $y_i$ and $w_i$ ( $1 \le x_i, y_i \le n$ ; $x_i \ne y_i$ ; $1 \le w_i \le 1000$ ), where $x_i$ and $y_i$ are districts the $i$ -th road connects and $w_i$ is its cost. It is guaranteed that there is some path between each pair of districts, so the city is connected. It is also guaranteed that there is at most one road between each pair of districts.
The next $k$ lines describe courier routes. The $i$ -th route is given as two integers $a_i$ and $b_i$ ( $1 \le a_i, b_i \le n$ ) — the districts of the $i$ -th route. The route can go from the district to itself, some couriers routes can coincide (and you have to count them independently).
输出格式
Print one integer — the minimum total courier routes cost you can achieve (i.e. the minimum value $\sum\limits_{i=1}^{k} d(a_i, b_i)$ , where $d(x, y)$ is the cheapest cost of travel between districts $x$ and $y$ ) if you can make some (at most one) road cost zero.
输入输出样例
输入 #1
6 5 2 1 2 5 2 3 7 2 4 4 4 5 2 4 6 8 1 6 5 3
输出 #1
22
输入 #2
5 5 4 1 2 5 2 3 4 1 4 3 4 3 7 3 5 2 1 5 1 3 3 3 1 5
输出 #2
13
The picture corresponding to the first example:

There, you can choose either the road $(2, 4)$ or the road $(4, 6)$ . Both options lead to the total cost $22$ .
The picture corresponding to the second example:

There, you can choose the road $(3, 4)$ . This leads to the total cost $13$ .

There, you can choose either the road $(2, 4)$ or the road $(4, 6)$ . Both options lead to the total cost $22$ .
The picture corresponding to the second example:

There, you can choose the road $(3, 4)$ . This leads to the total cost $13$ .
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted