UVA1599 理想路径 Ideal Path
题目描述
## 本题有多组数据
# 理想路径(Ideal Path, NEERC 2010, UVa1599)
给定一个$n$个点$m$条边的无向图,每条边上都涂有1种颜色。求点$1$到点$n$的一条路径,**使得经过的边数最少**,在此前提下,经过边的颜色序列最小。可能有自环与重边。输入保证至少存在一条连接$1$和$n$的道路。
输入格式
输入共$m+1$行:
第一行$2$个空格整数:$n$和$m$。
以后$m$行,每行空格隔开的$3$个整数$a_i,b_i,c_i$,表示在$a_i,b_i$之间有一条颜色为$c_i$的道路。
输出格式
输出共两行:
第一行$1$个正整数$k$,表示$1$到$n$至少需要经过$k$条边。
第二行包含$k$个空格隔开的正整数,表示从$1$到$n$依次经过的边的**颜色**。
## 输入输出样例:
### 输入样例:
```
4 6
1 2 1
1 3 2
3 4 3
2 3 1
2 4 4
3 1 1
```
### 输出样例:
```
2
1 3
```
### 输入输出样例解释:
路径依次如下:
$1\rightarrow3$,颜色为$1$(最后输入的那条);
$3\rightarrow4$,颜色为$3$。
说明/提示
$2\leq n \leq 10^5, 1 \leq m \leq 2 \times 10^5,1\leq c_i \leq 10^9$。
对于任意$i \in [1,m]$有$1 \leq a_i,b_i \leq n$。
注:对于两个长度为$k$的序列$a,b$,当存在$i \in [1,k]$使$a_i < b_i$,且对于任意$j \in [1,i)$都有$a_j = b_j$时,$a