#SLT10D. 2026年S组模拟赛10连测第10场-T4 供应链路

2026年S组模拟赛10连测第10场-T4 供应链路

项目 内容
输入文件名 bottleneck.in
输出文件名 bottleneck.out
可执行文件名 bottleneck
每个测试点时限 1.0 秒
内存限制 512 MiB
测试点数目 20
是否等分 是

结果比较方式为全文比较(过滤行末空格及文末换行)。

题目描述

程老师的公司要把一批货从 11 号城市运到 nn 号城市。途中有 nn 个城市、mm 条双向道路,每条道路 ee 有一个承运上限 wew_e:一辆车走这条路时,车上最多装 wew_e 箱货,装多了这条路走不了。

一辆车从 11 号城市出发,沿若干条道路开到 nn 号城市,走的这串道路称为一条运输路线。一条运输路线能装多少箱,取决于这条路上最"窄"的那一段:路线上各条道路的承运上限里最小的那个,记作这条运输路线的承重——路上只要有任意一条承运上限更小的道路,整条路线的运量就被它卡住。

程老师想问两件事。第一,所有从 11 号城市到 nn 号城市的运输路线中,承重最大是多少,把这个最大值记作 BB。第二,在所有承重恰好为 BB 的运输路线中,经过的道路条数最少是几条。

保证 11 号城市与 nn 号城市之间至少存在一条运输路线。

输入格式

从文件 bottleneck.in 中读入数据。

  • 第一行两个整数 n,mn, m,表示城市数与道路条数;
  • 接下来 mm 行,每行三个整数 u,v,wu, v, w,表示一条连接 uu 号城市与 vv 号城市的双向道路,其承运上限为 ww。

输出格式

输出到文件 bottleneck.out 中。

  • 输出一行两个整数 BB 与最少道路条数,用一个空格隔开。

样例

4 4
1 2 5
2 4 3
1 3 8
3 4 2
3 2

样例 1 解释

11 号城市到 44 号城市只有两条路:走 1→2→41 \to 2 \to 4,两段的承运上限是 55 和 33,承重是 min⁡(5,3)=3\min(5, 3) = 3;走 1→3→41 \to 3 \to 4,两段是 88 和 22,承重是 min⁡(8,2)=2\min(8, 2) = 2。承重最大是 33。承重恰为 33 的路线中,1→2→41 \to 2 \to 4 经过 22 条道路,没有更少的了。

2 1
1 2 7
7 1

样例 2 解释

只有一条道路,承重就是 77,路线经过 11 条道路。

5 5
1 2 5
2 5 5
1 3 9
3 4 9
4 5 9
9 3

样例 3 解释

从 11 号城市到 55 号城市有两条路:走 1→2→51 \to 2 \to 5,承运上限是 55 与 55,承重 55,经过 22 条道路;走 1→3→4→51 \to 3 \to 4 \to 5,承运上限都是 99,承重 99,经过 33 条道路。承重最大是 99,而承重恰为 99 的路线只有后者,经过 33 条道路。

数据范围

对于所有测试数据,保证:

  • 2≤n≤1052 \le n \le 10^5,n−1≤m≤2×105n - 1 \le m \le 2 \times 10^5;
  • 1≤u,v≤n1 \le u, v \le n 且 u≠vu \ne v,任意两座城市之间至多一条道路;
  • 1≤w≤1091 \le w \le 10^9,且从 11 号城市能到达 nn 号城市。

各测试点的约束如下:

测试点 nn mm 特殊性质
1∼21\sim2 ≤10\le 10 ≤20\le 20 无
3∼63\sim6 ≤50\le 50 ≤200\le 200
7∼107\sim10 ≤500\le 500 ≤2000\le 2000
11∼1411\sim14 ≤104\le 10^4
15∼1815\sim18 ≤105\le 10^5 ≤2×105\le 2 \times 10^5
1919 A
2020 B
  • 特殊性质 A:图是一棵树,即 m=n−1m = n - 1;
  • 特殊性质 B:所有道路的承运上限都相同。
难度 未评定
通过率 —
尝试 0
通过 0
ID
3808
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者