编程题
### 问题描述 $G$ 国有 $n$ 个城市,城市之间由 $m$ 条双向直达铁路连接,一条铁路连接了两个不同的城市,并且乘坐第 $i$ 条铁路需要 $w_i$ 个单位时间。如果两个城市之间没有直达的铁路,那么则必须要通过其他城市换乘才能相互可达。换乘不需要花费时间,但是 lbromine 非常不喜欢换乘。现在 lbromine 想要从 $1$ 号城市到达 $n$ 号城市,他想知道他最少需要经过多少个城市**(包括城市 $1$ 和城市 $n$ )**,以及在保证经过城市最少的情况下需要花费的最少时间。 ### 输入格式 输入第 $1$ 行包含两个正整数 $n,m$ ,表示 $G$ 国有 $n$ 个城市和 $m$ 条铁路。 第 $2\sim m+1$ 行每行包含三个整数 $u_i,v_i,w_i$,表示 lbromine 可以花费 $w_i$ 的时间在 $u_i$ 和 $v_i$ 之间旅行。 **数据保证 $1$ 号城市和 $n$ 号城市联通。** ### 输出格式 输出一行,这一行包含两个整数,第一个整数表示 lbromine 最少需要经过多少个城市,第二个整数表示保证经过城市最少的情况下需要花费的最少时间,两个整数之间用空格隔开。 ### 样例输入 ``` 4 4 1 2 1 2 3 1 3 4 1 1 4 5 ``` ### 样例输出 ``` 2 5 ``` ### **说明/提示** 对于 $30\%$ 的数据,$1\leq n\leq 10\ ,\ n-1\leq m\leq 20$; 对于 $60\%$ 的数据,$1\leq n\leq 10^3\ ,\ n-1\leq m\leq 2\times 10^4$; 对于所有评测数据,$1\leq n\leq 10^5\ ,\ n-1\leq m\leq 2\times 10^5$。
查看答案
赣ICP备20007335号-2