关闭

花生问题

标签: pojc
317人阅读 评论(0) 收藏 举报
分类:
//花生问题
#define MAX_NUM 55

#include<stdio.h>
#include<math.h>
int aField[MAX_NUM][MAX_NUM];
int T,M,N,K;
int main()
{
	scanf("%d",&T);
	for(int i=0;i<T;i++)
	{
		scanf("%d%d%d",&M,&N,&K);
		for(int m=1;m<=M;m++)
			for(int n=1;n<=N;n++)
				scanf("%d",&aField[m][n]);
		int nTotalPeanuts=0;
		int nTotalTime=0;
		int nCuri=0,nCurj;
		
		while(nTotalTime<K)
		{
			int nMax=0,nMaxi,nMaxj;
			for(int i=1;i<=M;i++)
				for(int j=1;j<=N;j++)
					if(nMax<aField[i][j])
					{
						nMax=aField[i][j];
						nMaxi=i;
						nMaxj=j;
					}
			if(nMax==0) break;
			
			if(nCuri==0) nCurj=nMaxj;
			
			if(nTotalTime+nMaxi+1+abs(nMaxi-nCuri)+abs(nMaxj-nCurj)<=K)
			{
				nTotalTime+=1+abs(nMaxi-nCuri)+abs(nMaxj-nCurj);
				nCuri=nMaxi;
				nCurj=nMaxj;
				nTotalPeanuts+=aField[nMaxi][nMaxj];
				aField[nMaxi][nMaxj]=0;
			}else
			break;
		}
		printf("%d\n",nTotalPeanuts);
	}
	return 0;
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:215489次
    • 积分:5576
    • 等级:
    • 排名:第4739名
    • 原创:325篇
    • 转载:45篇
    • 译文:0篇
    • 评论:115条
    文章分类