A6187 | RoadBlock S
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
每天早晨,FJ 从家中穿过农场走到牛棚。农场由 $N$ 块农田组成,农田通过 $M$ 条双向道路连接,每条路有一定长度。FJ 的房子在 $1$ 号田,牛棚在 $N$ 号田。没有两块田被多条道路连接,以适当的路径顺序总是能在农场任意一对田间行走。当 FJ 从一块田走到另一块时,总是以总路长最短的道路顺序来走。
FJ 的牛呢,总是不安好心,决定干扰他每天早晨的计划。它们在 $M$ 条路的某一条上安放一叠稻草堆,使这条路的长度加倍。牛希望选择一条路干扰使得 FJ 从家到牛棚的路长增加最多。它们请你设计并告诉它们最大增量是多少。
FJ 的牛呢,总是不安好心,决定干扰他每天早晨的计划。它们在 $M$ 条路的某一条上安放一叠稻草堆,使这条路的长度加倍。牛希望选择一条路干扰使得 FJ 从家到牛棚的路长增加最多。它们请你设计并告诉它们最大增量是多少。
输入格式
第 $1$ 行:两个整数 $N, M$。
第 $2$ 到 $M+1$ 行:第 $i+1$ 行包含三个整数 $A_i, B_i, L_i$,$A_i$ 和 $B_i$ 表示道路 $i$ 连接的田的编号,$L_i$ 表示路长。
第 $2$ 到 $M+1$ 行:第 $i+1$ 行包含三个整数 $A_i, B_i, L_i$,$A_i$ 和 $B_i$ 表示道路 $i$ 连接的田的编号,$L_i$ 表示路长。
输出格式
一个整数,表示通过使某条路加倍而得到的最大增量。
输入输出样例
输入 #1
5 7 2 1 5 1 3 1 3 2 8 3 5 7 3 4 3 2 4 7 4 5 2
输出 #1
2
【样例说明】
若使 $3$ 和 $4$ 之间的道路长加倍,最短路将由 $1 \rightarrow 3 \rightarrow 4 \rightarrow 5$ 变为 $1 \rightarrow 3 \rightarrow 5$。
【数据规模和约定】
对于 $30\%$ 的数据,$N \le 70$,$M \le 1\,500$。
对于 $100\%$ 的数据,$1 \le N \le 100$,$1 \le M \le 5\,000$,$1 \le L_i \le 1\,000\,000$。
若使 $3$ 和 $4$ 之间的道路长加倍,最短路将由 $1 \rightarrow 3 \rightarrow 4 \rightarrow 5$ 变为 $1 \rightarrow 3 \rightarrow 5$。
【数据规模和约定】
对于 $30\%$ 的数据,$N \le 70$,$M \le 1\,500$。
对于 $100\%$ 的数据,$1 \le N \le 100$,$1 \le M \le 5\,000$,$1 \le L_i \le 1\,000\,000$。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?