Cod sursa(job #2485556)

Utilizator vali_27Bojici Valentin vali_27 Data 1 noiembrie 2019 19:01:17
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <bits/stdc++.h>
using namespace std;

int a[17][17],n,m,total=0;

void citire()
{
    cin >> n >> m;
    for(int i=1;i<=n;++i)
        for(int j=1;j<=m;++j)cin >> a[i][j];
}

void flip(int k)
{
    for(int i=1;i<=n;++i)
        a[i][k]*=-1;
}

void verif()
{
    int sum = 0,suma_curenta=0;
    for(int i=1;i<=n;++i)
    {
        suma_curenta = 0;
        for(int j=1;j<=m;++j)suma_curenta+=a[i][j];
        if(suma_curenta < 0)suma_curenta*=-1;

        sum += suma_curenta;
    }
    total=max(total,sum);
}

void bkt(int k)
{
    if(k > m)verif();
    else
    {
        flip(k);
        bkt(k+1);
        flip(k);
        bkt(k+1);
    }
}

int main()
{
    freopen("flip.in","r",stdin);
    citire();

    bkt(1);

    freopen("flip.out","w",stdout);
    cout << total;

}