记录编号 420980 评测结果 AAAAAAAAAA
题目名称 [NOIP 2004]花生采摘 最终得分 100
用户昵称 GravatarShirry 是否通过 通过
代码语言 C++ 运行时间 0.000 s
提交时间 2017-07-05 22:20:20 内存使用 0.00 MiB
显示代码纯文本
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
int n,m,k,a,num=1,ans=0,c[450]={0},p[40000]={0};
int map[25][25]={0};
bool cmp(int x,int y){
	return p[x]>p[y];
}
int work(){
	freopen("peanuts.in","r",stdin);
	freopen("peanuts.out","w",stdout);
	scanf("%d%d%d",&m,&n,&k);
	for(int i=1;i<=m;i++)
		for(int j=1;j<=n;j++)
			scanf("%d",&a),p[i*100+j]=a,c[num]=i*100+j,num++;
	sort(c+1,c+num,cmp);
	int w=1,tmp,q,x=0,y=c[1]%100;
	while(1){
		q=c[w];
		if(!p[q])break;
		tmp=abs(q/100-x)+abs(q%100-y);
		if(tmp+q/100+1<=k){
			ans+=p[q],w++;
			k-=(tmp+1);
			x=q/100,y=q%100;
		}
		else break;
	}
	printf("%d",ans);
	return 0;
}
int sh=work();
int main(){
	return 0;
}