5741 - 飞行路线2
时间限制 : 1 秒
内存限制 : 256 MB
贝茜想到一个更温暖的地方去度过这个寒冷的冬天。不幸的是,她发现只有一家名叫AB的航空公司愿意把票卖给奶牛,而且这些票的构成有些奇怪。AB拥有N架飞机,每架都有一个特定的飞行路线,这个飞行路线包含2个或更多的城市。例如,一架飞机的路线可能是从城市1开始,然后飞到城市5,再飞到城市2,最后飞到城市8。没有城市会在一条路线上出现多次。如果贝茜决定使用这个路线,她可以在一条路线的任意一个城市上飞机,然后在路线上任意一个城市下飞机。她不用一定在第一个城市上飞机,在最后一个城市下飞机。每条路线会有一个价格,不管贝茜沿途经过多少城市,她都要付这么多钱。
贝茜想找到最近的从城市A到城市B的距离。由于她不想被复杂的形成困惑,她想只使用最多两条路线。请帮她决定她最少应该付多少钱。
输入
第1行包含3个数字A、B和N。
下面的2N行描述可用的路线,每条路线的描述占2行。第1条路线包含路线费用,以及沿途有多少个城市(不超过500个)。第2行包含1个按顺序的城市的列表。
输出
输出贝茜用一条飞行路线从城市A飞到城市B的最小费用。如果没有这样的路线,输出“-1”。
样例
输入
1 2 3 3 3 3 2 1 4 4 2 1 4 3 8 5 4 1 7 8 2
输出
7
提示
【数据规模】
对于40%的数据满足:N≤5。
对于60%的数据满足:N≤75。
对于100%的数据满足:N≤10000。
来源
课课通