学习中。。。
水题,直接贴代码了...
#include<stdio.h>
#include<math.h>
typedef struct bk
{
int ki;
int value;
}BK;
int main()
{
BK layout[20][20];
int i,j;
int n,m,n1,m1;
int num;
while(scanf("%d %d",&n,&m)){
if(n==0||m==0)
{
return 0;
}
num=-400;
n1=0,m1=0;
//printf("%d %d",n,m);
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&layout[i][j].ki);
//layout[i][j].value=layout[i][j].ki;
layout[i][j].value=0;
}
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(i>0)
{
if(layout[i][j].ki<=0)
layout[i][j].value+=layout[i-1][j].ki;
else
layout[i][j].value-=layout[i-1][j].ki;
}
if(i<n-1)
{
if(layout[i][j].ki<=0)
layout[i][j].value+=layout[i+1][j].ki;
else
layout[i][j].value-=layout[i+1][j].ki;
}
if(j>0)
{
if(layout[i][j].ki<=0)
layout[i][j].value+=layout[i][j-1].ki;
else
layout[i][j].value-=layout[i][j-1].ki;
}
if(j<m-1)
{
if(layout[i][j].ki<=0)
layout[i][j].value+=layout[i][j+1].ki;
else
layout[i][j].value-=layout[i][j+1].ki;
}
if(num<layout[i][j].value)
{
num=layout[i][j].value;
//if(num==layout[i][j].value)
n1=i+1;
m1=j+1;
}
}
}
printf("%d %d %d\n",n1,m1,num);
}
return 0;
}