/ Vijos / 题库 /

通信

通信

时间限制:1秒  内存限制:256M


【问题描述】

  Farmer John 的 N 头奶牛,编号为 \(1…N\),站成一行(\(1≤N≤5⋅10^4\))。第 \(i\) 头奶牛的品种编号为 \(b_i\),其范围为 \(1..K(1≤K≤50)\)。奶牛们需要你帮助求出如何最优地从奶牛 \(1\) 传输一条信息到奶牛 \(N\)。

  从奶牛 \(i\) 传输信息到奶牛 \(j\) 花费时间 \(|i-j|\)。然而,不是所有品种的奶牛都愿意互相交谈,如一个 \(K\times K\) 的方阵 \(S\) 所表示,其中如果一头品种 \(i\) 的奶牛愿意传输一条信息给一头品种 \(j\) 的奶牛,那么 \(S_{ij}=1\),否则为 \(0\)。不保证 \(S_{ij}=S_{ji}\),并且如果品种 \(i\) 的奶牛之间不愿意互相交流时可以有 \(S_{ii}=0\)。

  请求出传输信息所需的最小时间。

【输入格式】

  输入的第一行包含 \(N\) 和 \(K\)。
  下一行包含 \(N\) 个空格分隔的整数 \(b_1,b_2,\dots,b_N\)。
  以下 \(K\) 行描述了方阵 \(S\)。每行包含一个由 \(K\) 个二进制位组成的字符串,从上往下第 \(i\) 个字符串的第 \(j\) 位为 \(S_{ij}\)。

【输出格式】

  输出一个整数,为需要的最小时间。如果不可能从奶牛 \(1\) 传输信息至奶牛 \(N\),输出 \(-1\)。

【输入输出样例】

 Input

5 4
1 4 2 3 4
1010
0001
0110
0100

 Output

6

【样例解释】

  小最优传输序列为 \(1\to 4\to 3\to 5\)。总时间为 \(|1-4|+|4-3|+|3-5|=6\)。

【数据限制】

   - 测试点 1-5 满足 \(N≤1000\)。
   - 测试点 6-13 没有额外限制。

【来源】

  Mr.he

信息

ID
3130
难度
10
分类
图结构 | 最短路 点击显示
标签
递交数
2
已通过
0
通过率
0%
上传者