Cod sursa(job #476682)

Utilizator proxenetuNea Caisa proxenetu Data 12 august 2010 00:49:41
Problema Jocul Flip Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <stdio.h>
#define maxN 17

int A[maxN][maxN];

int main () {
    int N, M, i, j, k, sum = 0, sum2 = 0, max = 0, pow;

    freopen("flip.in", "r", stdin);
    freopen("flip.out", "w", stdout);

    scanf("%d%d", &N, &M);

    for (i = 1; i <= N; ++ i)
        for (j = 1; j <= M; ++ j)
            scanf("%d", &A[i][j]);

    for (i = 0, pow = 1 << M; i < pow; ++ i) {
        sum = 0;
        for (j = 1; j <= N; ++ j) {
            for (k = 1, sum2 = 0; k <= N; ++ k)
                sum2 += (i & (1 << k)) ? A[j][k] : - A[j][k];
            sum += (sum2 > 0) ? sum2 : -sum2;
        }
        if (sum > max)
            max = sum;
    }

    printf("%d\n", max);
}