369WA求助!!
查看原帖
369WA求助!!
666135
sssssssa楼主2022/2/12 22:27
#include<iostream>
#include<cmath>
using namespace std;
int m,n,k;
int a[20][20];
int o[400],p[400];//存坐标
int q[400];//存花生个数 
int maxn=0; 
int num=0;//采到花生数 
int main()
{
	cin>>m>>n>>k;
	for(int i=0;i<m;i++)
	for(int j=0;j<n;j++)
	cin>>a[i][j];
	for(int h=0;h<m*n;h++)
	{
		for(int i=0;i<m;i++)
		for(int j=0;j<n;j++)
		{
			if(maxn<a[i][j])
			{
				maxn=a[i][j];
				o[h]=i; p[h]=j;//记坐标 
				q[h]=maxn;//记最大数 
			}
		}
		a[o[h]][p[h]]=0;//归零,去除最大数;
		maxn=0; //不归零q[]最多只能存一个!!!!! 
	}
	if(q[0]!=0&&k>=3+2*o[0])
	{
		num+=q[0];
		k=k-1-o[0];
		int i=0;
		while(k>=(abs(o[i+1]-o[i])+abs(p[i+1]-p[i])+1+o[i+1])&&q[i+1]!=0)
		{
			i++;
			num+=q[i];
			k=k-abs(o[i]-o[i-1])-abs(p[i]-p[i-1])-1;
		}
	}
	cout<<num;
}
2022/2/12 22:27
加载中...