https://www.luogu.org/problem/P1086

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int m,n,k,ans=;
int a[][];
void dfs(int x,int y,int time) {
int Max=-(<<),nx,ny; //Max最大的花生点,nx最大花生点的x坐标 ,ny最大花生点的y坐标
for(int i=; i<=m; i++)
for(int j=; j<=n; j++)
if(a[i][j]>Max) {
Max=a[i][j];
nx=i;
ny=j;//更新
}
if(y==) //如果从路边开始,
y=ny;//则只需要移动的行的数目
int nt=abs(nx-x)+abs(ny-y)+nx+; //到达花生,采摘,nx表示并返回边界,1表示采摘花生
if(time<nt || a[nx][ny]==) //如果剩余的时间少于nt或者已经被采摘过
return;
else {
ans+=a[nx][ny]; //累加
a[nx][ny]=; //清零
dfs(nx,ny,time-abs(nx-x)-abs(ny-y)-); //进行下一次
}
}
int main() {
scanf("%d %d %d",&m,&n,&k);
for(int i=; i<=m; i++)
for(int j=; j<=n; j++)
scanf("%d",&a[i][j]);
dfs(,,k);
printf("%d\n",ans);
return ;
}

最新文章

  1. mysql数据库去重复
  2. Python-Numpy函数-tile函数
  3. Javascript 中 == 和 === 区别
  4. 构建web应用示例
  5. UIView.FRAMEWORK
  6. search支持多种标签
  7. Dubbo服务调用的动态代理和负载均衡
  8. codevs1044:dilworth定理
  9. android工程gen目录中R.java包名是怎么确定
  10. Java宝典(三)
  11. 关于DCLP实现的单例模式的一些想法
  12. 基于visual Studio2013解决C语言竞赛题之1054抽牌游戏
  13. Scriptcase价格调整(五折销售)
  14. 201521123018 《Java程序设计》第13周学习总结
  15. ●POJ 3378 Crazy Thairs
  16. [PHP] 抽象类abstract的回顾
  17. 报文分析4、TCP协议的头结构
  18. 如何激活windows或office
  19. sip协议中文讲解
  20. JPEG

热门文章

  1. 【Android】Retrofi的基础使用教程
  2. Jupyter Notebook 常用快捷键 (转)
  3. Java如何优雅地使用close()?
  4. 关于对 softirq、work_queue、tasklet 学习后的一点总结
  5. 9个常用的正则表达式-sunziren
  6. docker常见操作总结
  7. KD-Tree 学习笔记
  8. linux下安装setuptools
  9. memcached的安装、常用命令以及在实际开发中的案例
  10. CodeForces - 1105D 多源搜索