Problem4734--NOIP-J2012 T4:文化之旅

4734: NOIP-J2012 T4:文化之旅

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家)。不同的国家可能有相同的文化。不同文化的国家对其他文化的看法不同,有些文化会排斥外来文化(即如果他学习了某种文化,则他不能到达排斥这种文化的其他国家)。
现给定各个国家间的地理关系,各个国家的文化,每种文化对其他文化的看法,以及这位使者游历的起点和终点(在起点和终点也会学习当地的文化),国家间的道路距离,试求从起点到终点最少需走多少路。

Input

第一行为五个整数 N,K,M,S,TN,K,M,S,TN,K,M,S,T 每两个整数之间用一个空格隔开,依次代表国家个数(国家编号为 111NNN),文化种数(文化编号为 111KKK),道路的条数,以及起点和终点的编号(保证 SSS 不等于 TTT);
第二行为 NNN 个整数,每两个整数之间用一个空格隔开,其中第 iii 个数 CiC_iCi,表示国家 iii 的文化为 CiC_iCi
接下来的 KKK 行,每行 KKK 个整数,每两个整数之间用一个空格隔开,记第 iii 行的第 jjj 个数为 aija_{ij}aijaij=1a_{ij}= 1aij=1 表示文化 iii 排斥外来文化 jjjiii 等于 jjj 时表示排斥相同文化的外来人),aij=0a_{ij}=0aij=0 表示不排斥(注意 iii 排斥 jjj 并不保证 jjj 一定也排斥 iii )。
接下来的 MMM 行,每行三个整数 u,v,du,v,du,v,d ,每两个整数之间用一个空格隔开,表示国家 uuu 与国家 vvv 有一条距离为 ddd 的可双向通行的道路(保证 uuu 不等于 vvv ,两个国家之间可能有多条道路)。

Output

一个整数,表示使者从起点国家到达终点国家最少需要走的距离数(如果无解则输出 −1-11 )。

Sample 1 Input

2 2 1 1 2
1 2
0 1
1 0
1 2 10

Sample 1 Output

-1

HINT

【数据范围】
对于 100%100\%100% 的数据,有 2≤N≤1002 \le N \le 1002N100
1≤K≤1001 \le K \le 1001K100
1≤M≤N21 \le M \le N^21MN2
1≤ki≤K1 \le k_i \le K1kiK
1≤u,v≤N1 \le u, v \le N1u,vN
1≤d≤1000,S≠T,1≤S,T≤N1 \le d \le 1000,S \neq T,1 \le S,T \le N1d1000,S=T,1S,TN
【样例1说明】
由于到国家 222 必须要经过国家 111,而国家 222 的文明却排斥国家 111 的文明,所以不可能到达国家 222
【样例2说明】
输入
2 2 1 1 2
1 2
0 1
0 0
1 2 10
输出
10
说明
路线为 1−>21 -> 21>2

Source/Category

NOIP普及组 5.2012.年NOIP普及组