Cod sursa(job #508022)

Utilizator padreatiAurelian Tutuianu padreati Data 7 decembrie 2010 13:05:36
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <cstdlib>
#include <fstream>
#include <iostream>

using namespace std;

int main(void) {

    ifstream in("flip.in");
    ofstream out("flip.out");

    long m, n;
    in >> n >> m;

    long a[n][m];

    for (long i = 0; i < n; i++) {
        for (long j = 0; j < m; j++) {
            in >> a[i][j];
        }
    }

    long max = 1 << n;
    long ret[m];
    long total = 0;

    for (long mask = 0; mask < max; mask++) {
        for (long j = 0; j < m; j++) {
            ret[j] = 0;
        }
        for (long i = 0; i < n; i++) {
            long sign = 1;
            if (!(mask & (1 << i)))
                sign = -1;

            for (long j = 0; j < m; j++) {
                ret[j] += (a[i][j] * sign);
            }
        }
        long t = 0;
        for (long i = 0; i < m; i++) {
            t += abs(ret[i]);
        }
        if (t > total)
            total = t;
    }

    out << total;
    cout << total;

    return 0;
}