Cod sursa(job #3301681)

Utilizator ScratchQScratchQ ScratchQ Data 29 iunie 2025 02:04:51
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <cstdio>
int n, m, a[16][16], c[16], best = -(int) 1e9;
void bkt(int p) {
    if (p == m) {
        int t = 0;
        for (int i = 0; i < n; i++) {
            t += (c[i] > 0) ? c[i] : -c[i];
        }
        best = (t > best) ? t : best;
        return;
    }
    for (int i = 0; i < n; i++) {
        c[i] += a[i][p];
    }
    bkt(p + 1);
    for (int i = 0; i < n; i++) {
        c[i] -= 2 * a[i][p];
    }
    bkt(p + 1);
    for (int i = 0; i < n; i++) {
        c[i] += a[i][p];
    }
}
int main() {
    freopen ("flip.in", "r", stdin), freopen ("flip.out", "w", stdout);
    scanf("%d %d", &n, &m);
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            scanf("%d", &a[i][j]);
        }
    }
    bkt(0);
    printf("%d\n", best);
}