#P1624. *【最短路】边的两端点为同颜色时才能通过的最短路[USACO11JAN] Traffic Lights S

*【最短路】边的两端点为同颜色时才能通过的最短路[USACO11JAN] Traffic Lights S

【题意】

NN个路口、MM条双向道路(无重边和自环)。

每个路口有一个交通灯。交通灯有两种颜色:蓝色(BB)和紫色(PP)。两种颜色周期性交替,蓝色持续时间为BiB_i,紫色持续时间为PiP_i。刚开始路口灯的颜色为CiC_iCiC_i 为一个字母:BBPP),剩余持续时间RiR_i

只有道路两端灯颜色相同,才能走。只在乎出发的那一刻两路口的灯颜色是否一致。允许在路口等。

求点stst到点eded的最小时间。

【输入格式】

第一行两个整数 ststeded

第二行两个整数 NNMM2N300,1M1.4×1042 \le N \le 300 , 1 \le M \le 1.4 \times 10^4) 。

下来 NN 行,每行描述一个路口的信号灯情况:CiC_iRiR_iBiB_iPiP_i

下来 MM 行,每行三个整数 x,y,wx , y , w ,表示一条连接路口xx 和路口yy 通过时间为 ww 的道路。

1Bi,Pi,Ri,w1001 \le B_i,P_i,R_i,w \le 100

【输出格式】

一个整数,表示从 ststeded 最少时间。若 ststeded 不连通,则输出0

【样例输入】

1 4 
4 5 
B 2 16 99 
P 6 32 13 
P 2 87 4 
P 38 96 49 
1 2 4 
1 3 40 
2 3 75 
2 4 76 
3 4 77

【 样例输出】

127

【数据解释】

样例最少的时间是127,路径是 1-2-4。

具体解释如下:一开始车在出发点1。路口1 这时的颜色是蓝的,因为路口2的颜色为紫色,所以车在路口1 等了2s,然后向路口2出发,花了4s到达路口2.过了6s,路口2的灯变成蓝色,路口4还要再过32s才能变成蓝色,所以在等32s。32s后路口2变紫色,路口4变蓝色,所以还要再等13s。;路口2才能变蓝色,那个时候路口4和2统一颜色了,所以从路口2 出发向路口4走去,76s后到达路口4.

总共花的时间: 2+4+32+13+76=127 秒。