#P709. 【NOIP2004-J2】花生采摘

    ID: 1129 传统题 1000ms 256MiB 尝试: 3 已通过: 3 难度: 2 上传者: 标签>贪心模拟其他排序NOIP2004普及组时间管理

【NOIP2004-J2】花生采摘

题目描述

鲁宾逊先生有一只宠物猴,名叫多多。这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!——熊字”。

鲁宾逊先生和多多都很开心,因为花生正是他们的最爱。在告示牌背后,路边真的有一块花生田,花生植株整齐地排列成矩形网格。有经验的多多一眼就能看出,每棵花生植株下的花生有多少。为了训练多多的算术,鲁宾逊先生说:“你先找出花生最多的植株,去采摘它的花生;然后再找出剩下的植株里花生最多的,去采摘它的花生;依此类推,不过你一定要在我限定的时间内回到路边。”

我们假定多多在每个单位时间内,可以做下列四件事情中的一件:

  1. 从路边跳到最靠近路边(即第一行)的某棵花生植株;
  2. 从一棵植株跳到前后左右与之相邻的另一棵植株;
  3. 采摘一棵植株下的花生;
  4. 从最靠近路边(即第一行)的某棵花生植株跳回路边。

现在给定一块花生田的大小和花生的分布,请问在限定时间内,多多最多可以采到多少个花生?

注意

  • 只有部分植株下面长有花生,这些植株下的花生个数各不相同。
  • 多多必须按照花生数量从大到小的顺序依次采摘(即每次去当前剩余最多的那株),不能跳过大的去摘小的。

输入格式

第一行包含三个整数 M,N,KM, N, K,用空格隔开,表示花生田的大小为 M×NM \times N1M,N201 \le M, N \le 20),多多采花生的限定时间为 KK 个单位时间(0K10000 \le K \le 1000)。
接下来的 MM 行,每行包含 NN 个非负整数,也用空格隔开;第 i+1i+1 行的第 jj 个整数 PijP_{ij} 表示花生田里植株 (i,j)(i, j) 下花生的数目(0Pij5000 \le P_{ij} \le 500),00 表示该植株下没有花生。

输出格式

一行一个整数,即在限定时间内,多多最多可以采到的花生个数。

样例

6 7 21
0 0 0 0 0 0 0
0 0 0 0 13 0 0
0 0 0 0 0 0 7
0 15 0 0 0 0 0
0 0 0 9 0 0 0
0 0 0 0 0 0 0
37

样例解释
花生田大小为 6677 列,时间限制为 2121。有花生的植株为:(2,5)(2,5)1313 颗,(3,7)(3,7)77 颗,(4,2)(4,2)1515 颗,(5,4)(5,4)99 颗。
按照从大到小的顺序,多多先去 (4,2)(4,2)1515 颗,再去 (2,5)(2,5)1313 颗,再去 (5,4)(5,4)99 颗。计算时间够不够去 (3,7)(3,7)77 颗,经计算采摘前三株后时间已不足以再去第四株并返回路边,因此最多采到 15+13+9=3715+13+9 = 37 颗。

数据范围

  • 1M,N201 \le M, N \le 20
  • 0K10000 \le K \le 1000
  • 0Pij5000 \le P_{ij} \le 500,且非零的花生数量各不相同。

来源

NOIP2004 普及组