#P1468. 2024.9.27-秋招-第2题-最好的通勤体验

2024.9.27-秋招-第2题-最好的通勤体验

题目内容

小塔是一名环保爱好者,每天选择乘坐公交车上班。不同线路上的公交车会在规定的路线上单向循环行驶,例如708708路公交的路线为[2,5,82,5,8],那么公交车会按照2>5>8>2>5>8>...2->5->8->2->5->8->....的路线循环行驶,其中路线中的数字为公交站台编号。

小塔每天上班会从离他家里最近的公交站台上车,然后在他最喜欢的早餐店所在的站台下车买好早餐然后再上车,最后在离公司最近的公交站台下车,允许不限次数地在中途下车换乘其他路线的公交。

现在分别给定小塔上车、早餐店、下车的公交站台编号,请帮他选择最佳的乘车路线,使乘坐的公交车总数最少(如果在同11条公交路线中下车再上车,仍然视为乘坐的同一辆车),从而获得最好的通勤体验。

输入描述

11.第一行有33个数字,分别表示上车的公交站台编号、早餐店的公交站台编号、下车公交站台编号,依次用空格隔开。

22.第二行表示公交路线数量,后续的每一行中第11个数字代表该路线的总站台数,剩余的数字表示每条公交路线经过的站点编号,所有数字用空格隔开。

33.公交路线数量范围在[1,5001,500]。

44.公交站台的编号范围在[1,10000001,1000000]。

55.每条公交路线经过的站台数量范围在[2,15002,1500],路线中的站台编号按升序顺序排序,且每条路线中不包含重复的站台。

66.起点站台、购买早餐的站点、终点站台不重复。

输出描述

乘坐的公交路线总数,如果没有匹配的路线请返回1-1

样例1

输入

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

输出

3

说明

先乘坐第11条公交路线的车,在第22个站点下车转第22条路线的公交车,然后再乘坐第22条公交路线的车在站点33下车买早餐,然后重新乘坐第22条公交路线达到站点77下车转第44条公交路线,最后达到站点55,经过的公交路线为1>2>41->2->4,所以结果为33。虽然乘坐第11条公交路线和第33条公交路线也能达到站点55,但是该路线没法购买早餐。

样例2

输入

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

输出

-1

说明

小王只能乘坐第11条公交路线上车,但是无法通过该路线的站台换乘到第22条公交路线购买早餐,没有匹配的路线,返回1-1

样例3

输入

4 19 28
5
5 3 4 7 8 10
6 10 12 16 19 27 28
4 5 7 11 17
4 17 19 22 23
3 23 27 28

输出

2

说明

小王可以选择1>21->2的公交路线,乘坐的公交车总数为22,也可以选择1>3>4>51->3->4->5的公交路线,乘坐的公交车总数为44,因此最佳的乘车路线是1>21->2,结果为22