小Q系列故事——屌丝的逆袭(Hdu 4500)

来源:互联网 发布:米歇尔罗德里格兹 知乎 编辑:程序博客网 时间:2024/05/16 23:02

CE了一次。。。

在计算上下左右的魅力值时,考虑边界。

#include <stdio.h>#include <stdlib.h>#include <math.h>int n,m;int a[30][30];int Count(int i,int j){int sum = 0;//上if(i>0){if(a[i][j]*a[i-1][j]<0)sum+=abs(a[i-1][j]);elsesum-=abs(a[i-1][j]);}    //左if(j>0){if(a[i][j]*a[i][j-1]<0)sum+=abs(a[i][j-1]);elsesum-=abs(a[i][j-1]);}    //右if(i<n-1){if(a[i][j]*a[i+1][j]<0)sum+=abs(a[i+1][j]);elsesum-=abs(a[i+1][j]);}    //下if(j<m-1){if(a[i][j]*a[i][j+1]<0)sum+=abs(a[i][j+1]);        else            sum-=abs(a[i][j+1]);}return sum;}void run(){int i,j,r,c;int Max, tmp;for(i=0; i<n; i++){for(j=0; j<m; j++){scanf("%d", &a[i][j]);}}Max = -99999;for(i=0; i<n; i++){for(j=0; j<m; j++){tmp = Count(i,j);if(tmp > Max){Max = tmp;r = i+1;c = j+1;}}}printf("%d %d %d\n", r, c, Max);}int main(){while(scanf("%d%d", &n, &m)!=EOF){if(n==0 && m==0) break;run();}return 0;}