#D1010. 换乘
换乘
题目描述
33DAI 要从 号公交站坐车到 号公交站。城市里一共有 个站点、 条公交线路。
第 条线路会停靠 个站点(这些站点互不相同)。只要坐上这条线路,就可以在它的任意两个停靠站之间直达,中途不需要换乘。坐一条线路记作乘车 次。
33DAI 想知道:从 号站到 号站,最少需要坐几次车?如果到不了,输出 。
特别地,如果 号站就是 号站(即 ),他不需要坐车,答案是 。
输入格式
第一行两个整数 和 。
接下来 行,第 行先是一个整数 ,接着是 个整数,表示第 条线路停靠的站点编号。同一行的 个站点互不相同,相邻两个整数之间用一个空格隔开。
输出格式
输出一行一个整数,表示最少乘车次数;如果无法到达,输出 -1。
6 3
3 1 2 3
2 3 4
3 4 5 6
3
样例 1 解释
一种乘车方案是:
- 坐第 条线路,从 号站到 号站;
- 换乘第 条线路,从 号站到 号站;
- 换乘第 条线路,从 号站到 号站。
一共坐了 条线路,所以答案是 3。
5 2
2 1 2
2 3 4
-1
样例 2 解释
第 条线路只经过 号站,第 条线路只经过 号站,两组站点之间没有任何线路相连。 号站没有任何线路经过,从 号站无法到达 号站,输出 -1。
样例 3
样例 4
数据范围
对于全部测试数据,保证:
- ;
- ;
- 每条线路的停靠站数 ,且同一条线路内的站点互不相同;
- 所有线路的停靠站数之和 ;
- 所有站点编号都在 到 之间。
子任务
本题共 20 个测试点,按测试点计分:
| 测试点 | 分值 | 每个测试点 | 特殊限制 |
|---|---|---|---|
| 无额外限制 |
每个测试点单独评分,全部测试点的得分之和即为本题得分。