~~在你的基础上改了一下~~
```cpp
#include<bits/stdc++.h>
using namespace std;
int k=1,a[30][30],n,m,s ,t,sum;
struct ad{
int x,y;
int sl;
}b[770];
bool px(ad n1,ad n2){
return n1.sl>n2.sl;
}
int main(){
cin>>n>>m>>t;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
if(a[i][j]!=0) b[k].sl=a[i][j],b[k].x=i,b[k].y=j,k++;
}
}
sort(b + 1, b + k + 1,px);
if(t<2*b[1].x+1){
cout<<0;
return 0;
}
int p=0,q=0;
for(int i=1;i<=k;i++){
if (i == 1) s+= 1 + abs(b[i].x);
else s=s+1+abs(p-b[i].x)+abs(q-b[i].y);
p=b[i].x,q=b[i].y;
if(s+b[i].x<=t) sum+=b[i].sl;
else break;
}
cout<<sum;
return 0;
}
```
改了太多了,具体都改了哪些我也记不得了
数组最好从一开始,不然bug多(我以前从一开始经常出bug)
by 天有不测风云 @ 2021-04-03 09:28:49
@[天有不测风云](/user/109217) 谢谢dalao
by misaka_18921 @ 2021-04-03 09:33:02