Cod sursa(job #2195058)

Utilizator codrutciulacuciulacu codrut cristian codrutciulacu Data 15 aprilie 2018 00:18:05
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <stdio.h>
#include <algorithm>

int n, m, a[20][20], v[20], S_max;

void sol(){
    int sum = 0, S;
    for(int j = 1; j <= m; j++){
        S = 0;
        for(int i = 1; i <= n; i++)
            S += a[i][j] * v[i];
        sum += std::abs(S);
    }
    S_max = std::max(sum, S_max);
}

void bkt(int k){
    if(k == n + 1)
        sol();
    else{
        v[k] = 1;
        bkt(k + 1);

        v[k] = -1;
        bkt(k + 1);
    }
}

int main(){
    freopen("flip.in", "r", stdin);
    freopen("flip.out", "w", stdout);
    scanf("%d%d", &n, &m);
    for(int i = 1; i <= n; i++)
        for(int j = 1; j <= m; j++)
            scanf("%d", &a[i][j]);
    bkt(1);

    printf("%d", S_max);
    return 0;
}