40求助
查看原帖
40求助
1049297
ZXN2023楼主2024/6/20 21:48
#include<bits/stdc++.h>
using namespace std;
int a[30][30];
int m,n,k,x,y,maxn=-1,nx=0,ny=0,ans=0;
int main(){
	cin>>m>>n>>k;
	for(int i=1;i<=m;i++){
		for(int j=1;j<=n;j++){
			cin>>a[i][j];
			if(a[i][j]>=maxn){
				maxn=a[i][j];
				x=i;
				y=j;
			}
		}
	}
	nx=0;
	ny=y;
	while(maxn){
		maxn=-1;
		if(abs(x-nx)+abs(y-ny)+y+1>k){
			cout<<ans;
			return 0;
		}
		else{
			k-=(abs(x-nx)+abs(y-ny)+1);
			nx=x;
			ny=y;
			ans+=a[x][y];
			a[x][y]=0;
		}
		for(int i=1;i<=m;i++){
			for(int j=1;j<=n;j++){
				if(a[i][j]>=maxn){
					maxn=a[i][j];
					x=i;
					y=j;
				}
			}
		}
	}
	cout<<0;
    return 0;
}

2024/6/20 21:48
加载中...