hdu1355
题意:有一片矩形花生田在路的一侧,田上的整数坐标位置有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的更多相关文章
随机推荐
- Lua中模块初识
定义了两个文件: Module.lua 和 main.lua 其中,模块的概念,使得Lua工程有了程序主入口的概念,其中main.lua就是用来充当程序主入口的. 工程截图如下: Module.lua ...
- Java JDK5新特性-静态导入
2017-10-31 00:10:50 静态导入格式:import static 包名 ...类名.方法名: 也就说可以直接导入到方法名. 注意: 方法必须是静态的 如果有多个同名的静态方法,容易不知 ...
- Eclipse 设置代码风格
自动调整代码风格 快捷键Ctrl + Shift + F 或者 右键 source -> format 设置代码风格 window -> preference -> java -&g ...
- Jaccard similarity(杰卡德相似度)和Abundance correlation(丰度相关性)
杰卡德距离(Jaccard Distance) 是用来衡量两个集合差异性的一种指标,它是杰卡德相似系数的补集,被定义为1减去Jaccard相似系数.而杰卡德相似系数(Jaccard similarit ...
- WPF StoryBoard用法
时间:2011-06-15 21:26来源:百度空间 作者:shichen4 点击: 次 StoryBoard使用,Xaml转cs代码 Canvas.Triggers EventTriggerRout ...
- loj#101. 最大流 dinic+当前弧
板子题 当前弧优化版本 目前效率最高 //#pragma comment(linker, "/stack:200000000") //#pragma GCC optimize(&q ...
- js 正则去除指定的单词
以企业邮箱为例:@后面不能是qq 126 163 188 gmail yahoo sina hotmail suhu sogu 等单词. <!DOCTYPE htm ...
- 在linux中,如何增加、修改、删除、暂停和冻结用户名
在Linux中,如何增加.修改.删除.暂停和冻结用户名 在操作增加.修改和删除用户名前,先认识linux中两个最重要的文件,它们就是账号管理最重要文件“/etc/passwd”与“etc/shadow ...
- Idea安装及其简介
Idea现有设置 Idea重新安装步骤 卸载开始 D:\devsoft\jet\env\maven\global\wonders\settings.xml ...
- 数据库cmd窗口登录
mysql -uroot -p123 -P3306 -h127.0.0.1 -uroot::root数据库登录用户名 -p123:数据库密码123 -P3306::3306数据库的端口号 -h127. ...