#P948. 梦幻糖果阵
梦幻糖果阵
背景 Background
聚会的尾声,所有的朋友都纷纷离去,只剩下飘飘乎居士还陪着candy
描述 Description
candy拿出了自己的糖果阵给飘飘乎居士破解(因为candy最崇拜飘飘乎居士了)。糖果阵被划分成了一个n*m的地区,上面共有p个糖果点,candy给每个糖果点都放置了一个香甜可口的糖果,并且每个糖果都有一个美味度vi。现在飘飘乎居士从左上角出发,他每秒钟可以向相邻的4个方向移动一格。由于某种原因,每个糖果的美味度每秒钟都会下降wi点。甚至当走到某个糖果点时,美味度可能变成了负数,即使这样,飘飘乎居士也想把所有的糖果全部吃到。所以,你的任务是帮助飘飘乎居士计算能够品尝到的糖果的最大美味度。
输入格式 Input Format
第一行3个正整数 n m p
接下来一个n*m的矩阵,出现大写字母’A’到’Z’(对应下面的编号分别为1 2…26)则表示糖果点,不是糖果点的地方用‘.’代表。数据保证不会出现跳字母,也就是A C没有B的情况。
在下来一共p行,每行2个正整数,vi和wi,代表相应的糖果点的美味度和每秒钟减少的美味度.
输出格式 Output Format
一行,代表能够品尝到的最大美味度
样例输入 Sample Input
5 5 3
...A.
..C..
.....
.....
B....
10 1
30 4
10 1
样例输出 Sample Output
14
注释 Hint
样例说明:开始时,A地区糖果的美味度是10,B地区糖果的美味度是30,C地区糖果的美味度是10。飘飘乎居士从(1,1)出发,先走到B点,一共耗时4s,所有的糖果美味度都减少了4*wi,A地区糖果美味度变成了6,B地区糖果变成了14,C地区糖果美味度变成了6,此时得到的美味度是14。接下来走到C地区,耗时5s,此时A地和B地糖果的美味度都变成了1,所以总的美味度是15,最后走到A地,A地区糖果美味度为-1,所以最后的答案是14。
对于40%的数据 0<n m<=10, 0<p<=9
对于100%的数据 0<n m<=100, 0<p<=13
所有数据中0<vi wi<=10000
友情提示:答案可能出现负数
来源 Source
来源 飘飘乎居士——Violet Hill