题目描述
小X正困在一个密室里,他希望眷逃出密室。
密室中有N个房间,初始时,小X在1号房间,而出口在N号房间。
密室的每一个房间中可能有着一些钥匙和一些传送门,一个传送门会单向地创造一条从房间X到房间Y的通道。另外,想要通过某个传送门,就必须具备一些种 类的钥匙(每种钥匙都要有才能通过)。幸运的是,钥匙在打开传送门的封印后,并不会消失。
然而,通过密室的传送门需要耗费大量的时间,因此,小X希望通过旧能少的传送门到达出口,你能告诉小X这个数值吗?
另外,小X有可能不能逃出这个密室,如果是这样,请输出"NoSolution"。
输入格式
第一行三个整数N,M,K,分别表示房间的数量、传送门的数量以及钥匙的种类数。
接下来N行,每行K个0或1,若第i个数为1,则表示该房间内有第i种钥匙,若第i个数为0,则表示该房间内没有第i种钥匙。
接下来M行,每行先读入两个整数X,Y,表示该传送门是建立在X号房间,通向Y号房间的,再读入K个0或1,若 第i个数为1,则表示通过该传送门需要i种钥匙,若第i个数为0,则表示通过该传送门不需要第i种钥匙。
输出格式
输出一行一个"NoSolution",或一个整数,表示最少通过的传送门数。
样例
输入样例
3 3 2
1 0
0 1
0 0
1 3 1 1
1 2 1 0
2 3 1 1
输出样例
2
提示
测试点编号 |
N |
M |
K |
1 |
<=5 |
<=10 |
=0 |
2 |
3 |
4 |
<=100 |
<=500 |
5 |
6 |
7 |
<=1000 |
<=5000 |
8 |
9 |
10 |
11 |
<=5 |
<=10 |
=1 |
12 |
13 |
<=1000 |
<=5000 |
14 |
15 |
<=5 |
<=10 |
<=4 |
16 |
<=1000 |
<=5000 |