Cod sursa(job #1698744)

Utilizator oldatlantianSerban Cercelescu oldatlantian Data 5 mai 2016 11:18:33
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <bits/stdc++.h>
using namespace std;
typedef long long i64;

int mx[32][32], aux[32][32];

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

    int n, m;
    int i, j, b, lim;
    i64 s, t, ans;

    scanf("%d%d",&n,&m);
    for(i=0; i<n; ++i)
        for(j=0; j<m; ++j)
            scanf("%d",&mx[i][j]);

    lim = 1<<n;
    ans = -1;

    for(b=0; b<lim; ++b) {
        for(i=0; i<n; ++i) {
            if(b&(1<<i))
                for(j=0; j<m; ++j)
                    aux[i][j]=-mx[i][j];
            else
                for(j=0; j<m; ++j)
                    aux[i][j]= mx[i][j];
        }
        t=0;

        for(j=0; j<m; ++j) {
            s=0;
            for(i=0; i<n; ++i)
                s+=aux[i][j];
            t+=abs(s);
        }

        ans = max(ans, t);
    }

    printf("%lld",ans);
    return 0;
}