比赛场次 | 485 |
---|---|
比赛名称 | USACO水题大战 |
比赛状态 | 已结束比赛成绩 |
开始时间 | 2021-04-03 20:00:00 |
结束时间 | 2021-04-09 22:00:00 |
开放分组 | 全部用户 |
注释介绍 | 省选加油! |
题目名称 | Telephone |
---|---|
输入输出 | telephone.in/out |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试点数 | 13 简单对比 |
用户 | 结果 | 时间 | 内存 | 得分 |
---|---|---|---|---|
数声风笛ovo | AAAAAAAAAAAAA | 0.241 s | 25.05 MiB | 100 |
yrtiop | AAAAAAATAAAAA | 2.176 s | 6.91 MiB | 92 |
Farmer John 的 $N$ 头奶牛,编号为 $1 \ldots N$,站成一行($1\le N\le 5\cdot 10^4$)。第 $i$ 头奶牛的品种编号为 $b_i$,范围为 $1 \ldots K$,其中 $1\le K\le 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,\ldots,b_N$。
以下 $K$ 行描述了方阵 $S$。每行包含一个由 $K$ 个二进制位组成的字符串,从上往下第 $i$ 个字符串的第 $j$ 位为 $S_{ij}$。
输出一个整数,为需要的最小时间。如果不可能从奶牛 $1$ 传输信息至奶牛 $N$,输出 $-1$。
5 4 1 4 2 3 4 1010 0001 0110 0100
6
最优传输序列为 $1\to 4\to 3\to 5$。总时间为 $|1-4|+|4-3|+|3-5|=6$。
测试点 1-5 满足 $N\le 1000$。
测试点 6-13 没有额外限制。
USACO 一月公开赛 Gold 组