Cod sursa(job #2807543)

Utilizator amcbnCiobanu Andrei Mihai amcbn Data 23 noiembrie 2021 21:54:12
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
/* [A][M][C][B][N] / [K][R][I][P][6][8] */
#include <bits/stdc++.h>
#include <unordered_map>
using namespace std;
const char sp = ' ', nl = '\n';
const int MOD = 666013;
ifstream fin("flip.in");
ofstream fout("flip.out");
int mat[16][16]{0}, rows[16];
int n, m, maxsum = 0;

void bkt(int idx = 0) {
    if (idx == n) {
        int sum = 0;
        for (int j = 0; j < m; ++j) {
            int colsum = 0;
            for (int i = 0; i < n; ++i)
                colsum += (rows[i] ? 1 : -1) * mat[i][j];
            sum += abs(colsum);
        }
        maxsum = max(maxsum, sum);
    }
    else {
        rows[idx] = 0, bkt(idx + 1);
        rows[idx] = 1, bkt(idx + 1);
    }
}

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0), cout.tie(0);
    fin >> n >> m;
    for (int i = 0; i < n; ++i)
        for (int j = 0; j < m; ++j)
            fin >> mat[i][j];
    bkt();
    fout << maxsum;
}