#P1191. 航班中转
显示设置
本题导航点一下展开
我的笔记
✕
航班中转
题目背景
廉价航空的票价毫无规律:直飞有时贵得离谱,绕一次远路反而便宜。但旅客最在意的往往不是钱,而是少折腾。
题目描述
某国有 座城市,编号 到 。城市之间有 条单向航线,第 条航线从城市 飞往城市 ,票价为 。
一条从城市 到城市 的行程由若干条航线首尾相接组成。行程的中转次数等于行程中包含的航线数减一(行程恰好只含一条航线时,中转次数为 )。
旅客按如下次序挑选行程:
- 先让中转次数尽可能少;
- 再在所有中转次数最少的行程中,让总票价尽可能少。
请你输出最少的中转次数,以及在所有最少中转次数的行程中最小的总票价。如果城市 无法到达城市 ,输出 -1。
输入格式
第一行两个整数 。
接下来 行,每行三个整数 。
输出格式
一行两个整数:最少中转次数与对应的最小总票价;若无法到达则输出 -1。
输入输出样例 #1
输入 #1
4 5
1 2 100
1 3 1
3 4 1
2 4 1
4 3 1
输出 #1
1 2
说明
样例解释
从 到 至少要中转 次。中转 次的行程有 与 ,票价分别为 与 ,取较小者 。
数据范围
- 对于 的数据,,,。
- 同一条航线可能重复给出,也可能出现 的航线。