题意:有一片矩形花生田在路的一侧,田上的整数坐标位置有0个或多个花生,现规定从路上走到田地最边上的某个格点位置、从田边上走回路上、从一个格点移动到另一个格点、采摘格点上的花生,这四种动作都要花费一单位的时间,每次必须采摘花生数最多的格点,给出限定时间,问能采多少花生。

我一开始没有看见每次必须采摘花生数最多的格点,于是,我考虑了状压 DP 这种高端做法```本来又该满心欢喜地敲的时候发现样例并通不过```我百思不得其解后重新研读了一下题意才发现那个条件```于是```并不是高端的 DP 题,而是一道彻头彻尾的水题啊!只是模拟一下采花生的路线,反正路线肯定是从大到小固定的,然后就这样算每次的时间会不会超时,如果不超时就继续下一个点,如果超时了就输出上一个点的花生数。

中间我还RE了两法,原因是我的c初始化位置放错,导致c在循环中一直增加最终越界```低级错误啊```

 #include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std; struct point{
int x,y,n;
}p[]; int dp[],t[]; int cmp(point p1,point p2){
return p1.n>p2.n;
} int main(){
int T;
while(scanf("%d",&T)!=EOF){
int M,N,K;
int i,j,k;
for(int q=;q<=T;q++){
int c=;
memset(p,,sizeof(p));
memset(dp,,sizeof(dp));
memset(t,,sizeof(t));
scanf("%d%d%d",&M,&N,&K);
for(i=;i<=M;i++){
for(j=;j<=N;j++){
int n;
scanf("%d",&n);
if(n){
c++;
p[c].x=i;
p[c].y=j;
p[c].n=n;
}
}
}
sort(p+,p+c+,cmp);
for(i=;i<=c;i++){
if(i==)t[i]=p[i].x+;
else t[i]=+t[i-]+abs(p[i].x-p[i-].x)+abs(p[i].y-p[i-].y);
if(t[i]+p[i].x>K)break;
else{
dp[i]=dp[i-]+p[i].n;
}
}
printf("%d\n",dp[i-]);
}
}
return ;
}

hdu1355的更多相关文章

随机推荐

  1. Mysql错误: Lock wait timeout exceeded 解决办法

    一.临时解决办法: 执行mysql命令:show full processlist; 然后找出插入语句的系统id 执行mysql命令:kill id 或 首先,查看数据库的进程信息: show ful ...

  2. CAS操作原理分析

      一.CAS简单介绍     CAS:Compare and Swap, 翻译成比较并交换.     java.util.concurrent包中借助CAS实现了区别于synchronouse同步锁 ...

  3. 20 多继承 MRO 算法 深度优先遍历 super

    类的多继承 一个类可以继承多个无关的类. 一个类可以被多个无关的类继承 1.经典类. 在python2.2之前. 已经是历史了. MRO 采用的是树形结构的深度递归遍历(一条道跑到黑) 2.新式类 在 ...

  4. 关于最短路的想法&&问题

    今天本想水几道floyd却被坑了:注意考虑<重边>!!!!!!!!!!!!!!! 小心图里出现的重边,如果不处理的话,必然WA!构图时一定要仔细!

  5. java连接MySql数据库 zeroDateTimeBehavior

    JAVA连接MySQL数据库,在操作值为0的timestamp类型时不能正确的处理,而是默认抛出一个异常, 就是所见的:java.sql.SQLException: Cannot convert va ...

  6. 各种格式的压缩包解压,7zip 命令行

    由于7z.exe所在路径,以及解压目录中可能包含中文特殊字符,导致解压失败,所以最好将各部分路径使用双引号包含起来. 如:CString str; str.Format(L"\"% ...

  7. PHP:第一章——PHP中常量和预定义常量

    <?php /*****************************************************/ //1.常量的定义 //常量:声明一次后长期不变的量,以字母或下划线开 ...

  8. SQL Server 调优系列基础篇 - 并行运算总结(一)

    前言 上三篇文章我们介绍了查看查询计划的方式,以及一些常用的连接运算符.联合运算符的优化技巧. 本篇我们分析SQL Server的并行运算,作为多核计算机盛行的今天,SQL Server也会适时调整自 ...

  9. 弹出层小插件之(一)sweetalert

    //弹出层小插件之(一)sweetalert 1.引入sweetalert.css 2.引入sweetalert.min.js 下载地址:http://t4t5.github.io/sweetaler ...

  10. Java——IO类,字节流读数据

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...