链接地址:http://bailian.openjudge.cn/practice/1928

题目:

总时间限制:
1000ms
内存限制:
65536kB
描述
Mr. Robinson and his pet monkey Dodo love peanuts very much. One day while they were having a walk on a country road, Dodo found a sign by the road, pasted with a small piece of paper, saying "Free Peanuts Here! " You can imagine how happy Mr. Robinson and Dodo were.

There
was a peanut field on one side of the road. The peanuts were planted
on the intersecting points of a grid as shown in Figure-1. At each
point, there are either zero or more peanuts. For example, in Figure-2,
only four points have more than zero peanuts, and the numbers are 15,
13, 9 and 7 respectively. One could only walk from an intersection
point to one of the four adjacent points, taking one unit of time. It
also takes one unit of time to do one of the following: to walk from
the road to the field, to walk from the field to the road, or pick
peanuts on a point.

According
to Mr. Robinson's requirement, Dodo should go to the plant with the
most peanuts first. After picking them, he should then go to the next
plant with the most peanuts, and so on. Mr. Robinson was not so patient
as to wait for Dodo to pick all the peanuts and he asked Dodo to return
to the road in a certain period of time. For example, Dodo could pick
37 peanuts within 21 units of time in the situation given in Figure-2.

Your
task is, given the distribution of the peanuts and a certain period of
time, tell how many peanuts Dodo could pick. You can assume that each
point contains a different amount of peanuts, except 0, which may appear
more than once.

输入
The first line of input contains the test case number T (1 <= T
<= 20). For each test case, the first line contains three integers,
M, N and K (1 <= M, N <= 50, 0 <= K <= 20000). Each of the
following M lines contain N integers. None of the integers will exceed
3000. (M * N) describes the peanut field. The j-th integer X in the
i-th line means there are X peanuts on the point (i, j). K means Dodo
must return to the road in K units of time.
输出
For each test case, print one line containing the amount of peanuts Dodo can pick.
样例输入
2
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
6 7 20
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
28
来源
Beijing 2004 Preliminary@POJ

思路:

每次采摘前计算是否能够采摘,模拟题

代码:

 #include <iostream>
#include <cstdlib>
using namespace std; int main()
{
int t;
cin>>t;
while(t--)
{
int m,n,k;
cin>>m>>n>>k;
int *arr = new int[m*n];
for(int i = ; i < m; i++)
{
for(int j = ; j < n; j++)
{
cin>>arr[i * n + j];
}
}
int sum = ,ni=,nj;
int max,maxi,maxj;
k -= ;
int flag = ;
do
{
max = -;
for(int i = ; i < m; i++)
{
for(int j = ; j < n; j++)
{
if(max < arr[i * n + j])
{
max = arr[i * n + j];
maxi = i;
maxj = j;
}
}
}
if(flag) {nj = maxj;flag = ;}
int step = abs(maxi - ni) + abs(maxj - nj) + ;
if(step + maxi > k) break;
else
{
k -= step;
sum += max;
ni = maxi;
nj = maxj;
arr[maxi * n + maxj] = ;
} }while();
cout<<sum<<endl;
delete [] arr;
}
return ;
}

OpenJudge / Poj 1928 The Peanuts C++的更多相关文章

  1. OpenJudge / Poj 2141 Message Decowding

    1.链接地址: http://poj.org/problem?id=2141 http://bailian.openjudge.cn/practice/2141/ 2.题目: Message Deco ...

  2. OpenJudge/Poj 2105 IP Address

    1.链接地址: http://poj.org/problem?id=2105 http://bailian.openjudge.cn/practice/2105 2.题目: IP Address Ti ...

  3. OpenJudge/Poj 2027 No Brainer

    1.链接地址: http://bailian.openjudge.cn/practice/2027 http://poj.org/problem?id=2027 2.题目: 总Time Limit: ...

  4. OpenJudge/Poj 2013 Symmetric Order

    1.链接地址: http://bailian.openjudge.cn/practice/2013 http://poj.org/problem?id=2013 2.题目: Symmetric Ord ...

  5. OpenJudge/Poj 1088 滑雪

    1.链接地址: bailian.openjudge.cn/practice/1088 http://poj.org/problem?id=1088 2.题目: 总Time Limit: 1000ms ...

  6. OpenJudge/Poj 2001 Shortest Prefixes

    1.链接地址: http://bailian.openjudge.cn/practice/2001 http://poj.org/problem?id=2001 2.题目: Shortest Pref ...

  7. OpenJudge/Poj 2000 Gold Coins

    1.链接地址: http://bailian.openjudge.cn/practice/2000 http://poj.org/problem?id=2000 2.题目: 总Time Limit: ...

  8. OpenJudge/Poj 1936 All in All

    1.链接地址: http://poj.org/problem?id=1936 http://bailian.openjudge.cn/practice/1936 2.题目: All in All Ti ...

  9. OpenJudge/Poj 1661 帮助 Jimmy

    1.链接地址: bailian.openjudge.cn/practice/1661 http://poj.org/problem?id=1661 2.题目: 总Time Limit: 1000ms ...

随机推荐

  1. 解决SenTestingKit/SenTestingKit.h: No such file or directory

    在一个iOS项目中引入了单元测试,感觉项目间的依赖关系有些乱,就建了一个新的Project,再把原来的.h和.m加进去,编译时竟然出现“SenTestingKit/SenTestingKit.h: N ...

  2. hdu3589 Jacobi symbol(二次剩余 数论题)

    本题的注意点:n=p1*p2*p3......Pm 解法:直接利用公式a^((p-1)/2)=(a/p)mod p 即可求解. #include<stdio.h> #include< ...

  3. AVAudioRecorder、AVAudioPlayer录音及播放

    #pragma mark - 设置录制的音频文件的位置 - (NSString *)audioRecordingPath{ NSString *str_date=[TimeTransform Date ...

  4. xcode6 升级到xcode7 产生的问题

    当初作为第一个吃螃蟹的人,第一天就把xcode升级到了xcode7,结果报了一堆错,网上也没有解决方案,于是果断退到xcode6.这两天看时机成熟,升到了xcode7,在升级后,会有许多问题,在此罗列 ...

  5. 【WPF】 打开本地的文件或者文件夹

    问题描述: 我做的程序中需要添加帮助文档,我将文档生成了CHM格式,在用户点击帮助按钮时候 弹出帮助文档. 实现方法: System.Diagnostics.Process.Start(AppDoma ...

  6. ThinkPHP3.1快速入门(12)自动验证

    自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证. 验证规则 数据验证可以进行数据类型.业务规则.安全判断等方面的验证操作.数据验证有两 ...

  7. [React Fundamentals] Introduction to Properties

    This lesson will teach you the basics of setting properties in your React components. class App exte ...

  8. PHP之open_ssl

    http://www.wapm.cn/phpdoc/zh/openssl.installation.html http://liuxufei.com/weblog/jishu/376.html dem ...

  9. Android高手进阶教程(七)之----Android 中Preferences的使用!

    http://blog.csdn.net/Android_Tutor/article/details/5531849 大家好,我们这一节讲的是Android Preferences 的学习,Prefe ...

  10. fstat - 读取文件相关信息

    #fstat读取到的信息 ["dev"]=> int(16777220) ["ino"]=> int(66880002) ["mode&q ...