小塔是一名环保爱好者,每天选择乘坐公交车上班。不同线路上的公交车会在规定的路线上单向循环行驶,例如708路公交的路线为[2,5,8],那么公交车会按照2−>5−>8−>2−>5−>8−>....的路线循环行驶,其中路线中的数字为公交站台编号。
小塔每天上班会从离他家里最近的公交站台上车,然后在他最喜欢的早餐店所在的站台下车买好早餐然后再上车,最后在离公司最近的公交站台下车,允许不限次数地在中途下车换乘其他路线的公交。
现在分别给定小塔上车、早餐店、下车的公交站台编号,请帮他选择最佳的乘车路线,使乘坐的公交车总数最少(如果在同1条公交路线中下车再上车,仍然视为乘坐的同一辆车),从而获得最好的通勤体验。
题目描述了小塔作为一名环保爱好者,如何选择公交车上班的最佳路线。给定小塔的上车站台、购买早餐的站台以及下车站台的编号,接着提供公交路线的信息,包括每条公交路线经过的站台编号。任务是帮助小塔选择乘坐公交车的总数最少的路线,如果无法找到合适的公交路线,则返回-1。输入包括三行,第一行是上车、早餐店和下车的站台编号,第二行是公交路线的数量,后续每行提供一条公交路线的信息。输出为小塔所需乘坐的公交车总数。