Cod sursa(job #2197059)

Utilizator IustinPetrariuIustinian Petrariu IustinPetrariu Data 21 aprilie 2018 08:31:16
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>
#include <algorithm>

int n, m, a[20][20], v[40], 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]* v[n+j];
        sum += std::abs(S);
    }
    S_max = std::max(sum, S_max);
}

void bkt(int k){
    if(k == n + m+ 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;
}