Pagini recente » Cod sursa (job #2139970) | Cod sursa (job #1630691) | Cod sursa (job #2435106) | Cod sursa (job #2968824) | Cod sursa (job #1667832)
#include <stdio.h>
enum {
NMAX = 16,
MMAX = 16
};
static int N, M, SMAX;
static int TABLE[NMAX][MMAX];
static void CalcSum(int c)
{
int i, j, sign, lsum, sum = 0;
for (i = 0; i < N; ++i) {
lsum = 0;
for (j = 0; j < M; ++j) {
if (c >> j & 1) {
sign = -1;
} else {
sign = 1;
}
lsum += sign * TABLE[i][j];
}
lsum = lsum < 0 ? -lsum : lsum;
sum += lsum;
}
SMAX = sum > SMAX ? sum : SMAX;
}
int main(void)
{
int i, j, c;
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
scanf("%i%i", &N, &M);
for (i = 0; i < N; ++i) {
for (j = 0; j < M; ++j) {
scanf("%i", &TABLE[i][j]);
SMAX += TABLE[i][j];
}
}
c = 1 << M;
for (i = 0; i < c; ++i) {
CalcSum(i);
}
printf("%i\n", SMAX);
return 0;
}