Cod sursa(job #2324256)

Utilizator StefanZamfirStefan Zamfir StefanZamfir Data 20 ianuarie 2019 14:48:33
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <cstdio>

#pragma warning "da 100% din tine. :)"
using namespace std;

int mat[16][16];
int n, m;

int matsum(int pos) {
    int sum = 0;
    int lnsum = 0;
    for (int i = 0; i < n; ++i) {
        lnsum = 0;
        for (int j = 0; j < m; ++j) {
            (pos&(1<<j)) ? lnsum += -mat[i][j] : lnsum += mat[i][j];
        }
        sum += max(lnsum, -lnsum);
    }
    return sum;
}

int main() {
    freopen("flip.in", "r", stdin);
    freopen("flip.out", "w", stdout);
    ios_base::sync_with_stdio(false);
    int res = 0;
    cin >> n >> m;
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < m; ++j) {
            cin >> mat[i][j];
        }
    }
    for (unsigned pos = 0; pos < (1 << m); ++pos) {
        res = max(res, matsum(pos));
    }
    cout << res;
}