Cod sursa(job #2547456)

Utilizator pregoliStana Andrei pregoli Data 15 februarie 2020 13:06:32
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <bits/stdc++.h>
#define newline '\n'
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
///************************

const int NMAX = 20;
int n, m;
int a[NMAX][NMAX];
int st[NMAX];
int ans = INT_MIN;
inline void read()
{
    fin >> n >> m;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++)
            fin >> a[i][j];
}

int getSum()
{
    int sumfin = 0;
    for (int i = 1; i <= m; i++)
    {
        int s = 0;
        for (int j = 1; j <= n; j++)
            s += (a[j][i] * st[j]);

        sumfin += abs(s);
    }
    return sumfin;
}

void backtr(int top)
{
    if (n + 1 == top)
    {
        int s = getSum();
        ans = max(ans, s);
        return;
    }

    st[top] = 1;
    backtr(top + 1);
    st[top] = -1;
    backtr(top + 1);
}

inline void solve()
{
    backtr(1);
    fout << ans;
}

int main()
{
    read();
    solve();
    fout.close();
    return 0;
}