30分求助
查看原帖
30分求助
164460
Mike_Wei楼主2020/8/20 09:41
#include<iostream>
#include<cstdio>
using namespace std; 
int m,n,s[20][20];
int Mx()
{
	int ax=0,ay=0;
	for (int i=0;i<m;i++)
		for (int j=0;j<n;j++)
			if (s[i][j]>s[ax][ay])
			{
				ax=i;ay=j;
			}
	return ax;
}
int My()
{
	int ax=0,ay=0;
	for (int i=0;i<m;i++)
		for (int j=0;j<n;j++)
			if (s[i][j]>s[ax][ay])
			{
				ax=i;ay=j;
			}
	return ay;
}
int main(void)
{
	int k,mx,my,t=0;
	cin >> m >> n >> k;
	for (int i=0;i<m;i++)
		for (int j=0;j<n;j++)
			cin >> s[i][j];
	bool road=true;
	int ans=0;
	while (true)
	{
		mx=Mx();
		my=My();
		int ot=t;
		if (road)
			t+=my*2+1;
		else
			t+=mx+my*2+1;
		if (t>k)
		{
			t=ot;
			break;
		}
		else
		{
			ans+=s[mx][my];
			s[mx][my]=0;
			t=ot;
			if (road)
				t+=my+1;
			else
				t+=mx+my+1;
		}
	}
	cout << ans << endl;
	return 0;
} 
2020/8/20 09:41
加载中...