Cod sursa(job #2422801)

Utilizator razvan_ursuUrsu Razvan razvan_ursu Data 19 mai 2019 22:13:17
Problema Jocul Flip Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;

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

int a[16][16], m, n, sign[16];
long long maxim = - 9223372036854775807;

long long sum()
{
    long long sum = 0;
    for(int i = 0; i < m; i++)
    {
        long long s = 0;
        for(int j = 0; j < n; j++)
            s += (a[i][j] * sign[j]);
        sum += abs(s);
    }
    return sum;
}


void bkt (int x)
{
    if(x == m)
    {
        if(sum() > maxim)
            maxim = sum();
    }
    else
    {
        sign[x] = 1;
        bkt (x + 1);
        sign[x] = -1;
        bkt (x + 1);
    }
}

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