F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

Deliver the Cake

Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others)
Total Submission(s): 4161    Accepted Submission(s): 978


Problem Description
It is Zhang3's birthday! Zhang3 has bought a birthday cake and now it's time to take it home.

There are $n$ villages, labeled $1, 2, \ldots, n$. There are $m$ bidirectional roads, the $i^\mathrm{th}$ of which connects village $a_i$, $b_i$ and it is $d_i$ meter(s) long.

The bakery locates at village $s$ and Zhang3's home locates at village $t$. So Zhang3 wants to carry the cake from $s$ to $t$. She can carry the cake either with her left hand or with her right hand. She can switch to the other hand during the trip, which takes extra $x$ second(s) each time (when she's performing this action, she must stay in her place). Switching is allowed at any place, including the middle of the roads. She can do this as many times as she like, or don't do it at all.

Some villages are LEFT. When Zhang3 is at a LEFT village, she must carry the cake with her left hand at the moment. In the same way, some other villages are RIGHT, she must carry with her right hand when she's at these villages. The rest villages are called MIDDLE. There's no special rules at MIDDLE villages.

Zhang3 can start and finish with any hand carrying the cake. However, if $s$ or $t$ is not MIDDLE, their special rules must be followed.

Please help Zhang3 find a way to take the cake home, with the minimum amount of spent time.
 

Input
The first line of the input gives the number of test cases, $T \; (1 \le T \le 100)$. $T$ test cases follow.

For each test case, the first line contains five integers $n, m, s, t, x \; (1 \le n \le 10^5, \; 1 \le m \le 2 \times 10^5, \; 1 \le x \le 10^9)$, representing the number of villages, the number of roads, the bakery's location, home's location, and the time spent for each switching.

The next line contains a string of length $n$, describing the type of each village. The $i^\mathrm{th}$ character is either $\text{L}$ representing village $i$ is LEFT, or $\text{M}$ representing MIDDLE, or $\text{R}$ representing RIGHT.

Finally, $m$ lines follow, the $i^\mathrm{th}$ of which contains three integers $a_i, b_i, d_i \; (1 \le d_i \le 10^9)$, denoting a road connecting village $a_i$ and $b_i$ of length $d_i$.

It is guaranteed that $t$ can be reached from $s$.

The sum of $n$ in all test cases doesn't exceed $2 \times 10^5$. The sum of $m$ doesn't exceed $4 \times 10^5$.
 

Output
For each test case, print a line with an integer, representing the minimum amount of spent time (in seconds).
 

Sample Input
1 3 3 1 3 100 LRM 1 2 10 2 3 10 1 3 100
 

Sample Output
100
 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-11-23 17:36:53, Gzip enabled