#include<stdio.h>
#include<math.h>
int a[100][100]={0};
int main()
{
int n,t,i,j;
scanf("%d%d",&n,&t);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
scanf("%d",&a[i][j]);
int lx=1,ly=1,x=1,y=1;
int ans=0;
int count=0;
while(1)
{
int sum=0;//总消耗
int maxn=0;//总金子
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(a[i][j]>maxn)
{
maxn=a[i][j];
x=i;
y=j;
}//求最大值
count++;
t-=fabs(x-lx)+fabs(y-ly);//路上花费时间
if(count==n*n)
{
printf("%d",ans+=maxn);
return 0;
}
if(t<maxn) break;//时间不够用来挖金子————结束
a[x][y]=0;//挖掉
sum+=maxn;//挖金子消耗
sum+=fabs(x-lx)+fabs(y-ly);//路上消耗
lx=x;
ly=y;//现在所处位置
ans+=maxn;//金子++
t-=maxn;//挖掉消耗
}
printf("%d",ans);
return 0;
}
挖金子
最新推荐文章于 2021-06-13 10:44:30 发布