Cod sursa(job #2378818)

Utilizator marinel_serbanMarinel Serban marinel_serban Data 12 martie 2019 17:29:02
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.03 kb
//autor de pe infoarena
#include <iostream>
#include <cstdio>
using namespace std;
 
int n, m, s_negativ, s_pozitiv, s_total,x, mat[20][20];
int maxi, valoare[20];
 
int modul(int a, int b)
{
    if (a>b)
        return a-b;
    return b-a;
}
 
void backt(int ind)
{
    if (ind==n+1)
    {
        s_total=0;
        for (int j=1; j<=m; ++j)
        {
            int suma=0;
            for (int i=1; i<=n; ++i)
            {
                suma+=valoare[i]*mat[i][j];
            }
            if (suma<0)
                suma*=(-1);
            s_total+=suma;
        }
        if (s_total>maxi)
            maxi=s_total;
        return;
    }
    valoare[ind]=1;
    backt(ind+1);
    valoare[ind]=-1;
    backt(ind+1);
}
 
int main()
{
    freopen("flip.in","r",stdin);
    freopen("flip.out","w",stdout);
    cin >> n >> m;
    for (int i=1; i<=n; ++i)
    {
        for (int j=1; j<=m; ++j)
        {
            cin >> mat[i][j];
        }
    }
    backt(1);
    cout << maxi;
    return 0;
}