Type: Default 1000ms 256MiB

最优乘车(travel)

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

【题目描述】

H城是一个旅游胜地,每年都有成千上万的人前来观光。为方便游客,巴士公司在各个旅游景点及宾馆,饭店等地都设置了巴士站并开通了一些单程巴士线路。每条单程巴士线路从某个巴士站出发,依次途经若干个巴士站,最终到达终点巴士站。

一名旅客最近到H城旅游,他很想去S公园游玩,但如果从他所在的饭店没有一路巴士可以直接到达S公园,则他可能要先乘某一路巴士坐几站,再下来换乘同一站台的另一路巴士, 这样换乘几次后到达S公园。

现在用整数1,2,…N 给H城的所有的巴士站编号,约定这名旅客所在饭店的巴士站编号为1,S公园巴士站的编号为N。

写一个程序,帮助这名旅客寻找一个最优乘车方案,使他在从饭店乘车到S公园的过程中换车的次数最少。

【输入】

第一行有两个数字𝑀和𝑁(1≤𝑀≤100,1<𝑁≤500),表示开通了𝑀条单程巴士线路,总共有𝑁个车站。从第二行到第M行依次给出了第1条到第𝑀条巴士线路的信息。其中第𝑖+1行给出的是第𝑖条巴士线路的信息,从左至右按运行顺序依次给出了该线路上的所有站号相邻两个站号之间用一个空格隔开。

【输出】

只有一行。如果无法乘巴士从饭店到达S公园,则输出"NO",否则输出你的程序所找到的最少换车次数,换车次数为0表示不需换车即可到达。

【输入样例】

3 7
6 7
4 7 3 6
2 1 3 5

【输出样例】

2

【来源】

一本通在线评测

C23暑假作业5-图论-基础题

Not Claimed
Status
Done
Problem
17
Open Since
2024-7-5 0:00
Deadline
2024-10-27 23:59
Extension
24 hour(s)