比赛场次 74
比赛名称 20101110
比赛状态 已结束比赛成绩
开始时间 2010-11-10 19:00:00
结束时间 2010-11-10 22:00:00
开放分组 全部用户
注释介绍
题目名称 移动服务
输入输出 service.in/out
时间限制 1200 ms (1.2 s)
内存限制 128 MiB
测试点数 20 简单对比
用户 结果 时间 内存 得分
Gravatar苏轼 AAAAAAAAAAAAAAAAAAAA
0.000 s 0.00 MiB 100
Gravatar.Xmz AAAAAAAAAAAAAAAAAAAT
0.000 s 0.00 MiB 95
Gravatarbelong.zmx AAAAAAAAAAAAATTTTTAT
0.000 s 0.00 MiB 70
Gravatarwo shi 刘畅 AATATTTTTTTTTTTTTTTT
0.000 s 0.00 MiB 15
GravatarZhouZn1 AAWWWWWWWWWWWWWWWWWW
0.000 s 0.00 MiB 10
Gravatar苏轼 AWWWWWWWWWWWWWWWWWWW
0.000 s 0.00 MiB 5
Gravatar郭乾乐 EEEEEEEEEEEEEEEEEEEE
0.000 s 0.00 MiB 0
Gravatarnick09 MMMMMMMMMMMMMMMMMMMM
0.000 s 0.00 MiB 0

移动服务

★★★   输入文件:service.in   输出文件:service.out   简单对比
时间限制:1.2 s   内存限制:128 MiB

【问题描述】

一个公司有三个移动服务员,最初分别在位置1,2,3处。

如果某个位置(用一个整数表示)有一个请求,某个员工必须赶到那个地方去。某一时刻只有一个员工能移动,不允许在同样的位置出现两个员工。

从 $p$ 到 $q$ 移动一个员工,需要花费 $c(p,q)$。这个函数不一定对称,但是 $c(p,p)=0$。

给定$n$个请求,请求发生的位置分别为$p_1,p_2,\cdots,p_n$。公司必须按顺序满足所有请求,目标是最小化公司花费,请你帮忙计算这个最小花费。

【输入格式】

第一行有两个整数 $L,N(3≤L≤200,1≤N≤1000)$。$L$ 是位置数,$N$ 是请求数。每个位置从 $1$ 到 $L$ 编号。

下 $L$ 行每行包含 $L$ 个非负整数。第 $i+1$ 行的第 $j$ 个数表示 $c(i,j)$,并且它小于 $2000$。

最后一行包含 $N$ 个数,是请求列表。

【输出格式】

一个数 $M$,表示最小服务花费。

【样例输入】

5 9
0 1 1 1 1
1 0 2 3 2
1 1 0 4 1
2 1 5 0 1
4 2 3 4 0
4 2 4 1 5 4 3 2 1

【样例输入】

5