暴力出奇迹
查看原帖
暴力出奇迹
1065153
D23lhc楼主2023/12/30 09:32
#include<bits/stdc++.h>
using namespace std;
int a[200][200],m,n,k,i,j,l=0,x,y,xx=0,yy=0,maxx=0;
int main()
{
	scanf("%d%d%d",&m,&n,&k);
	for(i=1;i<=m;i++)
	  for(j=1;j<=n;j++)
	    scanf("%d",&a[i][j]);
	for(i=1;i<=m;i++)
          for(j=1;j<=n;j++)
            if(a[i][j]>maxx) {maxx=a[i][j]; x=i;y=j;}
    if(2*x+1>k) {puts("0");return 0;}
	xx=x;yy=y; k=k-x; l+=a[x][y]; a[x][y]=0;  
	for(int p=1; ;p++)  	
	  { maxx=0;
	    for(i=1;i<=m;i++)
          for(j=1;j<=n;j++)
            if(a[i][j]>maxx) {maxx=a[i][j]; x=i;y=j;}
        if(k-abs(x-xx)-abs(y-yy)-1-x>0)
		  { k=k-abs(x-xx)-abs(y-yy)-1;
		    l+=a[x][y];
		    xx=x; yy=y; a[x][y]=0;
		  }  
        else break;
	  }
	printf("%d",l);
	return 0;
}
2023/12/30 09:32
加载中...