Cod sursa(job #2628828)

Utilizator andrei_marciucMarciuc Andrei andrei_marciuc Data 17 iunie 2020 17:26:43
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <fstream>
using namespace std;
int maxx = -25600000;
int a[ 17 ][ 17 ], n, m, semn[ 17 ];
ifstream cin( "flip.in" );
ofstream cout( "flip.out" );

int suma(){
    int s = 0, sum, l , c;
    for( c = 0; c < m; c++ ){
        sum = 0;
        for( l = 0; l < n; l++ )
            sum += a[ l ][ c ] * semn[ l ];
        if( sum < 0 )
            sum = -sum;
        s += sum;
    }

    return s;
}

void bkt( int pos ){
    int s;
    if( pos == n ){
        //cout << "caca";
        if( maxx < ( s = suma() ) ){
            maxx = s;
            ////cout << s << '\n';
        }
        return;
    }else {
       // cout << "caca";
        semn[ pos ] = 1;
        bkt( pos + 1 );
        semn[ pos ] = -1;
        bkt( pos + 1 );
    }
}

int main()
{
    int l, c;
    cin >> n >> m;
    for( l = 0; l < n; l++ )
        for( c = 0; c < m; c++ )
            cin >> a[ l ][ c ];
    bkt( 0 );
    cout << maxx << '\n';
    return 0;
}