7431: 小雨坐地铁
[Creator : ]
Description
小雨所在的城市一共有 m 条地铁线,分别标号为 1 号线,2 号线,……,m 号线。
整个城市一共有 n 个车站,编号为 $1 \sim n$。其中坐 i 号线需要花费 $a_i$ 的价格,每坐一站就需要多花费 $b_i$的价格。i 号线有 $c_i$ 个车站,而且这 $c_i$ 个车站都已知。如果某一站有多条地铁线经过,则可以在这一站换乘到另一条地铁线,并且能多次换乘。
现在小雨想从第 s 个车站坐地铁到第 t 个车站,地铁等待时间忽略不计,求最少花费的价格,若不能到达输出-1。(地铁是双向的,所以 s 可能大于 t)。
整个城市一共有 n 个车站,编号为 $1 \sim n$。其中坐 i 号线需要花费 $a_i$ 的价格,每坐一站就需要多花费 $b_i$的价格。i 号线有 $c_i$ 个车站,而且这 $c_i$ 个车站都已知。如果某一站有多条地铁线经过,则可以在这一站换乘到另一条地铁线,并且能多次换乘。
现在小雨想从第 s 个车站坐地铁到第 t 个车站,地铁等待时间忽略不计,求最少花费的价格,若不能到达输出-1。(地铁是双向的,所以 s 可能大于 t)。
Input
第一行输入四个正整数 n,m,s,t,分别表示车站个数,地铁线数,起点站和终点站。
第二行到第 m + 1 行,每行前三个数为 $a_i,b_i,c_i$,分别表示坐 i 号线的价格,i 号线每坐一站多花的价格,i 号线车站个数。
接下来 $c_i$ 个数,表示 i 号线的每一个车站的编号,单调递增。
第二行到第 m + 1 行,每行前三个数为 $a_i,b_i,c_i$,分别表示坐 i 号线的价格,i 号线每坐一站多花的价格,i 号线车站个数。
接下来 $c_i$ 个数,表示 i 号线的每一个车站的编号,单调递增。
Output
共一行,一个数表示最小花费,若不能到达输出 -1。
Constraints
$1≤n≤10^3,1≤m≤500,1≤s,t≤n$
$1 \leq a_i,b_i \leq 100,1 \leq c_i \leq n,\sum\limits_{i = 1}^m c_i \leq 10^5$
$1 \leq a_i,b_i \leq 100,1 \leq c_i \leq n,\sum\limits_{i = 1}^m c_i \leq 10^5$
Sample 1 Input
5 2 1 4
2 2 3 1 3 5
2 1 4 2 3 4 5
Sample 1 Output
7
坐 1 号线:花费 2;
1→3:花费 2;
换乘 2 号线:花费 2;
3→4:花费 1;
所以最小总花费为 7 。
1→3:花费 2;
换乘 2 号线:花费 2;
3→4:花费 1;
所以最小总花费为 7 。