Cod sursa(job #1131935)

Utilizator Adrian.GheorgheGheorghe Adrian Dumitru Adrian.Gheorghe Data 2 martie 2014 09:34:47
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.44 kb
#include <stdio.h>
int max ( int a, int b )
{
    if ( a > b )
        return a;
    else
        return b;
}
int main ( )
{
    int a[20][20], i, j, n, m, sPoz, sNeg, sMax = 0, b[20][20];
    freopen ( "flip.in", "r", stdin );
    freopen ( "flip.out", "w",stdout );
    scanf ( "%d %d", &n, &m );
    for ( i = 0; i < n ; i++ )
        for ( j = 0; j < m; j++ )
            scanf ( "%d", &a[i][j] );
    for ( i = 0; i < n; i++ )
    {
        sPoz = 0;
        sNeg = 0;
        for ( j = 0; j < m; j++ )
            if ( a[i][j] > 0 )
                sPoz = sPoz + a[i][j];
            else
                sNeg = sNeg + a[i][j];
        sNeg = sNeg * ( -1 );
        if ( sNeg > sPoz )
            for ( j = 0 ; j < m; j++ )
                b[i][j] = a[i][j] * ( -1 );
        else
            for ( j = 0 ; j < m; j++ )
                b[i][j] = a[i][j];
    }
    for ( j = 0; j < m; j++ )
    {
        sPoz = 0;
        sNeg = 0;
        for ( i = 0; i < n; i++ )
            if ( a[i][j] > 0 )
                sPoz = sPoz + a[i][j];
            else
                sNeg = sNeg + a[i][j];
        sNeg = sNeg * ( -1 );
        if ( sNeg > sPoz )
            for ( i = 0 ; i < n; i++ )
                if ( b[i][j] == a[i][j] )
                    b[i][j] = a[i][j] * ( -1 );
    }
    for ( i = 0; i < n; i++ )
        for ( j = 0; j < m; j++ )
            sMax = sMax + b[i][j];
    printf ( "%d", sMax );
}