题意:有一片矩形花生田在路的一侧,田上的整数坐标位置有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. bzoj 1267 Kth Number I (点分治,堆)

    超级钢琴的树上版本, 类似做法即可, 只不过区间转为dfs序了, 用点分求一下, 复杂度$O(nlog^2n)$ #include <iostream> #include <algo ...

  2. php 浮点数

    $num = 10.4567; //第一种:利用round()对浮点数进行四舍五入 echo round($num,2); //10.46 //第二种:利用sprintf格式化字符串 $format_ ...

  3. ccf第二题总结

    1.游戏 问题描述 小明和小芳出去乡村玩,小明负责开车,小芳来导航. 小芳将可能的道路分为大道和小道.大道比较好走,每走1公里小明会增加1的疲劳度.小道不好走,如果连续走小道,小明的疲劳值会快速增加, ...

  4. Linux文件与目录管理(三)

    一.Linux文件内容查看 1.cat:由第一行开始显示文件内容 2.tac:从最后一行开始显示,可以看出tac是cat倒着写 3.nl:显示的时候,顺便输出行号 4.more:一页一页的显示文件内容 ...

  5. elasticsearch 自定义_id

    elasticsearch 自定义ID: curl -s -XPUT localhost:9200/web -d ' { "mappings": { "blog" ...

  6. SqlServer中的merge操作(转载)

    SqlServer中的merge操作(转载)   今天在一个存储过程中看见了merge这个关键字,第一个想法是,这个是配置管理中的概念吗,把相邻两次的更改合并到一起.后来在technet上搜索发现别有 ...

  7. VPNl连接

    2服务器IP端口及密码在QQ邮箱 OS Reload on localhost.localdomain [95.169.18.222]   SSH port: 29657 69.194.13.216  ...

  8. SharePoint SSS(Security Store Service)服务-PowerShell

    1. 获取SSS应用程序的标识 Get-SPServiceApplication 2. 获取指定的SSS应用程序实例 $sss = Get-SPServiceApplication -Identity ...

  9. 关于Forsaken Isle

    像素化的饥荒,但是和饥荒比起来,生存压力小了不少. 主要突出的是物品合成上 开始主要采集树枝,须根,岩石,燧石一个须根可以生成一根绳子 挺休闲的,种种菜,合合装备 未来版本会有魔法,潜水,巨龙,土族部 ...

  10. Translate Exercises(4)

    周五翻译课记录. ---------------------------------- (1)and it is imagined by many that the operations of the ...