Logo Universal Online Judge

UOJ

时间限制:2 s 空间限制:1024 MB
统计

【题目描述】

给定一张 $n$ 个节点带正边权有向简单图,求第 $k$ 短 $1$ 到 $n$ 的简单路径

形式化地,一条简单路径定义为序列 $(p_1,p_2,p_3....p_l$ 满足:

  • $p_1 = 1, p_l = n$。
  • $\forall 1 \le i < l$,存在 $p_i$ 连向 $p_{i+1}$ 的有向边。 • $\forall 1 \le i < j \le l, pi \neq pj$。

定义其权值为经过的有向边的权值和。

称简单路径 $p$ 比简单路径 $q$ 短,当且仅当以下至少一条成立:

  • $p$ 的权值小于 $q$ 的权值。

  • $p$ 的权值等于 $q$ 的权值,且序列 $(p_1,... , p_l)$ 的字典序小于序列 $(q_1, ...., q_r)$。


【输入格式】

第一行三个整数 $n, m, k$。 接下来 $m $ 行,每行三个整数 $u, v, w$,表示从 $u \rightarrow v$ 且权值为 $w$ 的有向边。


【输出格式】

若无解输出一行一个整数 $−1$。 否则,第一行一个整数 $l$ ,表示答案路径 $p$ 的点数。 第二行 $l$ 个整数,依次为 $p_1, p_2, .... , pl$ 。


【样例1输入】

4 6 1
2 4 2
1 3 2
1 2 1
1 4 3
2 3 1
3 4 1

【样例1输出】

4
1 2 3 4

【样例2输入】

5 20 10
1 2 1
1 3 2
1 4 1
1 5 3
2 1 1
2 3 1
2 4 2
2 5 2
3 1 1
3 2 2
3 4 1
3 5 1
4 1 1
4 2 1
4 3 1
4 5 2
5 1 1
5 2 1
5 3 1
5 4 1

【样例2输出】

5
1 2 4 3 5

【样例3输入】

3 3 5
1 2 1
2 3 1
1 3 1

【样例3输出】

-1