Cod sursa(job #2010894)

Utilizator DianaPopDiana Pop DianaPop Data 14 august 2017 18:05:34
Problema Jocul Flip Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 1.11 kb
#include <stdio.h>
#include <stdlib.h>

int a[19][19], fr[19], Sum, SumMax, Sum1;

void display( int n , int m ){
    Sum1 = 0;
    for( int j = 1 ; j <= m ; j++ ){
        Sum = 0;
        for( int i = 1 ; i <= n ; i++ ){
            if( fr[i] ){
                Sum -= a[i][j];
            }else{
                Sum += a[i][j];
            }
        }
        if( Sum < 0 ){
            Sum1 -= Sum;
        }else{
            Sum1 += Sum;
        }
    }

    if( Sum1 > SumMax ){
        SumMax = Sum1;
    }
}

void back( int n , int m , int k ){
    if( k <= n ){
        for( int i = 0 ; i <= 1 ; i++ ){
                fr[k]=i;
                back( n, m , k + 1 );
        }
    }else
        display( n , m );
        return;
}

int main()
{
    int n,m,i,j;
    freopen( "flip.in" , "r" , stdin );
    freopen( "flip.out" , "w" , stdout );
    scanf( "%d%d" , &n , &m );

    for( i = 1 ; i <= n ; i++ ){
        for( j = 1 ; j <= m ; j++ ){
            scanf( "%d", &a[i][j] );
        }
    }
    back( n , m , 1 );
    printf( "%d" , SumMax );

    return 0;
}