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