#CSES1196. 航班路线

航班路线

题目背景

翻译自 CSES-1196 题。

题目描述

你的任务是找出从 Syrjälä 到 Metsälä 的 kk 条最短航班路线。一个路线可以多次经过同一个城市。

注意:可能存在多个价格相同的路线,每条这样的路线都应该被考虑(请参考示例)。

输入格式

第一行包含三个整数 nn,mm,和 kk:分别表示城市的数量、航班的数量和需要找到的最短路线的数量 kk。城市编号为 1,2,…,n1,2,…,n,其中城市 11 是 Syrjälä,城市 nn 是 Metsälä。

接下来的 mm 行,每行描述一条航班,包含三个整数 aa,bb,和 cc:表示从城市 aa 到城市 bb 的一条单向航班,航班的价格为 cc。

你可以假设从 Syrjälä 到 Metsälä 至少有 kk 条不同的路线。

输出格式

输出 kk 个整数:表示从 Syrjälä 到 Metsälä 的 kk 条最便宜路线的价格,并按照价格从小到大排序。

样例

4 6 3
1 2 1
1 3 3
2 3 2
2 4 6
3 2 8
3 4 1
4 4 7

样例1解释

最便宜的三条路线分别是:

  1. 1→3→41 → 3 → 4(价格为 44)
  2. 1→2→3→41 → 2 → 3 → 4(价格为 44)
  3. 1→2→41 → 2 → 4(价格为 77)

因此,输出价格分别为 44、44 和 77。

说明/提示

2≤n≤1052 \leq n \leq 10^5;

1≤m≤2⋅1051 \leq m \leq 2 \cdot 10^5;

1≤a,b≤n1 \leq a,b \leq n;

1≤c≤1091 \le c \le 10^9;

1≤k≤101 \leq k \leq 10。