Cod sursa(job #2032284)

Utilizator cristii2000cristiiPanaite Cristian cristii2000cristii Data 4 octombrie 2017 19:32:00
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <cstdio>

using namespace std;

int tabla[20][20];

long long SuMax=-(1<<62);

int sol[20];

int n, m;

void citire()
{
    for(int i=0; i<n; i++)
        for(int j=0; j<m; j++)
            scanf("%d ", &tabla[i][j]);
}

void DetSum()
{
    int sum = 0;
    for(int j = 0; j < m; j++)
    {
        int sumCol = 0;
        for(int i = 0; i < n; i++)
        {
            if(sol[i] == 1)
            {
                sumCol += (-tabla[i][j]);
            }
            sumCol += tabla[i][j];
        }
        if(sumCol<0)
            sumCol *= -1;
        sum += sumCol;
    }

    if(sum > SuMax)
        SuMax = sum;
}

void bt(int k)
{
    if(k == n)
    {
        DetSum();
        return;
    }

    sol[k] = 0;
    bt(k+1);

    sol[k] = 1;
    bt(k+1);
}

int main()
{
    freopen("filip.in", "r", stdin);
    freopen("filip.out", "w", stdout);

    scanf("%d %d", &n, &m);

    citire();

    bt(0);

    printf("%lld", SuMax+1);
    return 0;
}