#5979. 电车
电车
题目描述
在一个神奇的小镇上有着一个特别的电车网络,它由一些路口和轨道组成,每个路口都连接着若干个轨道,每个轨道都通向一个路口(不排除有的观光轨道转一圈后返回路口的可能)。在每个路口,都有一个开关决定着出去的轨道,每个开关都有一个默认的状态,每辆电车行驶到路口之后,只能从开关所指向的轨道出去,如果电车司机想走另一个轨道,他就必须下车切换开关的状态。
为了行驶向目标地点,电车司机不得不经常下车来切换开关,于是,他们想请你写一个程序,计算一辆电车从路口 到路口 ,司机最少需要下车切换几次开关。
输入格式
第一行包含 个整数 ,分别表示路口的数量、电车的起点和终点。
接下来有 行,每行的开头有一个数字 (),表示这个路口与 条轨道相连,接下来有 个数字,表示每条轨道所通向的路口编号。开关默认指向第一个数字表示的轨道。
数据保证不会出现自环,但同一个路口之间可能有多条轨道。
输出格式
输出一个数字,表示从 到 所需的最少的切换开关次数。若无法从 前往 ,输出 。
样例
3 2 1
2 2 3
2 3 1
2 1 2
0
样例解释
有 个路口,起点为 ,终点为 。
- 路口 有 条轨道,默认指向 ;
- 路口 有 条轨道,默认指向 ;
- 路口 有 条轨道,默认指向 。
从 出发:默认走 ,切换次数 ;在路口 默认走 ,切换次数 ,累计 次切换即可到达 。
数据范围
- ,。
- ,保证所有轨道通向的路口编号均在 范围内。
- 输入保证不存在自环,即从路口 出发的轨道不会直接回到 (可能会有经由其他路口的环)。