hdu4500

签到题。。。。话说开始的时候while的括号没打回来  看了好半天啊啊 坑爹啊啊啊啊

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int main()
{
    int N, M, i, j, a[23][23], b[23][23], t, k;
    int _evalue( int x, int y );

    while( scanf( "%d%d", &N, &M ) )
    {
        if( N == 0 || M == 0 )
            break;

        memset( a, 0, 23 * 23 * sizeof(int) );
        memset( b, 0, 23 * 23 * sizeof(int) );

        for( i = 1; i <= N; i ++ )
        {
            for( j = 1; j <= M; j ++ )
            {
                scanf( "%d", &a[i][j] );
            }
        }

        for( i = 1; i <= N; i ++ )
        {
            for( j = 1; j <= M; j ++ )
            {
                b[i][j] += _evalue( a[i][j], a[i-1][j] );
                b[i][j] += _evalue( a[i][j], a[i+1][j] );
                b[i][j] += _evalue( a[i][j], a[i][j-1] );
                b[i][j] += _evalue( a[i][j], a[i][j+1] );
            }
        }
        t = k = 0;
        for( i = 1; i <= N; i ++ )
        {
            for( j = 1; j <= M; j ++ )
            {
                if( b[i][j] > b[t][k] )
                {
                    t = i;
                    k = j;
                }
            }
        }

        printf( "%d %d %d\n", t, k, b[t][k] );
    }


    return 0;
}

int _evalue( int x, int y )
{
    if( x * y > 0 )
    {
        return -fabs( y );
    }
    else if( x * y < 0 )
    {
        return fabs( y );
    }
    else
    {
        return 0;
    }
}

  

posted @ 2013-03-21 01:23  hacker_hzh  阅读(157)  评论(0编辑  收藏  举报