80分求助!!!
查看原帖
80分求助!!!
958588
wjb1227楼主2024/2/24 17:22
#include<iostream>
#include<cmath>
using namespace std;

int l[3][410],m,n,k,i=0,h,r=0;

int main()
{
	cin>>m>>n>>k;
	for(int j=0;j<=m-1;j++)
	{
		for(int k=0;k<=n-1;k++)
		{
			cin>>h;
			if(h!=0)
			{
				i++;
				l[0][i]=h;
				l[1][i]=j;
				l[2][i]=k;
			}
		}
	}
	
	for(int j=1;j<=i-2;j++)
	{
		for(int k=j;k<=i-1;k++)
		{
			if(l[0][k]>l[0][k+1])
			{
				int ls;
				
				ls=l[0][k];l[0][k]=l[0][k+1];l[0][k+1]=ls;
				ls=l[1][k];l[1][k]=l[1][k+1];l[1][k+1]=ls;
				ls=l[2][k];l[2][k]=l[2][k+1];l[2][k+1]=ls;
			}
		}
	}
	
	k-=l[1][i]+1+1;
	
	if(k-l[1][i]-1>=0)
	{
		for(int j=i;j>=1;j--)
		{
			r+=l[0][j];
			if(j==1)
			{
				break;
			}
			k-=abs(l[1][j]-l[1][j-1])+abs(l[2][j]-l[2][j-1])+1;
			if(k-l[1][j-1]-1<0)
			{
				break;
			}
		}
	}
	
	cout<<r;
	
	return 0;
}
2024/2/24 17:22
加载中...