求
  • 板块灌水区
  • 楼主Nake_fu
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/3/27 19:25
  • 上次更新2024/3/27 21:07:36
查看原帖
求
727172
Nake_fu楼主2024/3/27 19:25

请各位大佬看看这道题

#include<bits/stdc++.h>
using namespace std;
int s[25][25];
struct node{
	int x,y,sum=0;
};
node a[1000005];
int k,n,m;
int tot=0;
bool cmp(node x,node y)
{
	return x.sum>y.sum;
}
int main()
{
	cin>>n>>m>>k;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cin>>s[i][j];
			if(s[i][j]>0)
			{
				a[++tot].x=i;
				a[tot].y=j;
				a[tot].sum=s[i][j];
			}
		}
	}
	sort(a+1,a+tot+1,cmp);
	int cnt=a[1].x+1,i=2;
	int ans=a[1].sum;
	while(cnt+a[i-1].x<=k&&i<=tot)
	{
		cnt+=abs(a[i].x-a[i-1].x)+abs(a[i].y-a[i-1].y)+1;
		if(cnt+a[i].x>k) break;
		ans+=a[i].sum;
		i++;
	}
	cout<<ans;
	return 0;
}

怎么还剩一个点嘞

第五个点

2024/3/27 19:25
加载中...