捞+玄关+样例wa
查看原帖
捞+玄关+样例wa
1075140
违规用户名U1075140楼主2023/10/15 19:53
#include<bits/stdc++.h>
using namespace std;
int m,n,k,t,hs=0,zc;
int zhizhushu=0;
struct huasheng{
int heng;
int zong;
int shuliang;
bool yn;
}a[500];
bool pd(int p)
{
	if(t+1+a[p].zong+abs(a[p].heng-a[p+1].heng)+abs(a[p].zong-a[p+1].zong)>k)
	{
		return false;
	}
	else return 1;
}
bool cps (huasheng a,huasheng b)
{
	return a.shuliang>b.shuliang;
}
int main ()
{
	cin>>m>>n>>k;
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<n;j++)
		{
			cin>>zc;
			if(zc!=0)
			{
				a[zhizhushu].shuliang=zc;
				a[zhizhushu].heng=i;
				a[zhizhushu].zong=j;
				zhizhushu++;
			}
		}
	}//输入 	
	sort(a,a+zhizhushu,cps);
	for(int i=0;i<zhizhushu;i++)
	{
		if(i=0)
		{
			if(a[i].zong*2+1>k)
			{
				cout<<hs;
				return 0;
			}
		}
		else
		{
			t+=a[i].zong;t++;
		}
		if(pd(i)==false)
		{
			cout<<hs;
			return 0;
		}
		else
		{
			t+=abs(a[i].heng-a[i+1].heng)+abs(a[i].zong-a[i+1].zong)+1;
			hs+=a[i].shuliang;
			a[i].yn=1;
		//	cout<<a[i].shuliang<<endl;
		}
		cout<<i;
		i++;
	}
	cout<<hs;
}

2023/10/15 19:53
加载中...