Cod sursa(job #899316)

Utilizator Coman95coman cosmin Coman95 Data 28 februarie 2013 13:55:03
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>
using namespace std;

#define INF 0x3f3f3f3f

ifstream fin("flip.in");
ofstream fout("flip.out");

int n, m;
int a[17][17];
int v[17];
int maxim = -INF;

void Back( int k );

int main()
{
    fin >> n >> m;
    for( int i = 1; i <= n; ++i )
        for( int j = 1; j <= m; ++j )
            fin >> a[i][j];
    Back( 1 );
    fout << maxim << ' ';
    fin.close();
    fout.close();
    return 0;
}

void Back( int k )
{
    long long suma, aux = 0;
    if( k == n + 1 )
    {
        suma = 0;
        for( int i = 1; i <= m; ++i )
        {
            aux = 0;
            for( int j = 1; j <= n; ++j )
                aux += a[j][i] * v[j];
            if( aux < 0 )
                suma -= aux;
            else
                suma += aux;
        }
        if( maxim < suma )
            maxim = suma;
        return;
    }
    v[k] = 1;
    Back( k + 1 );
    v[k] = -1;
    Back( k + 1 );
}