有N个地点,按照种类分为K类,从地点i到地点j的距离为|i-j|,但并不是任意两个地点都可以通行,通行与否通过一个K*K的矩阵S来表示,S[i][j]=1表示种类为i的地点可以到达种类为j的地点,S[i][j]=0则表示不行,请求出从地点1到地点N花费的最短时间。
输入:
第一行两个整数N和K(N<=10000,K<=10)。
第二行N个整数,表示每个地点的种类。
接下来K行描述了矩阵S。
输出:
一个整数,表示从地点1到地点N花费的最短时间,不能到达则输出-1。
输入样例:
5 4
1 4 2 3 4
1010
0001
0110
0100
输出样例:
6