- 花生采摘(peanuts)
大佬求解,30%
- 2023-10-3 15:20:42 @
#include <algorithm>
#include <iostream>
using namespace std;
int n,m,t,map[21][21],ans;
void dfs(int nowt,int x,int y)
{
int maxx,maxy,max=0;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
if(map[i][j]>max)
{
max=map[i][j];
maxx=i;
maxy=j;
}
if(y==0) y=maxy;
if(nowt<abs(x-maxx)+abs(y-maxy)+maxx+1||map[maxx][maxy]==0) return;
else
{
ans+=map[maxx][maxy];
map[maxx][maxy]=0;
nowt-=abs(x-maxx)-abs(y-maxy)-1;
dfs(nowt,maxx,maxy);
}
}
int main()
{
cin>>n>>m>>t;
for (int i=1; i<=n; i++)
for (int j=1; j<=m; j++) cin>>map[i][j];
dfs(t,0,0);
cout<<ans;
return 0;
}
0 条评论
目前还没有评论...
信息
- ID
- 160
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 220
- 已通过
- 76
- 上传者