Pagini recente » Cod sursa (job #191183) | Cod sursa (job #476684)
Cod sursa(job #476684)
#include <stdio.h>
#include <algorithm>
using namespace std;
#define maxN 17
int A[maxN][maxN], B[maxN][maxN];
int N, M, i, j, k, sum = 0, sum2 = 0, maximum = 0, pow;
void solve () {
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 > maximum)
maximum = sum;
}
}
int main () {
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]);
solve ();
for (i = 1; i <= M; ++ i)
for (j = 1; j <= N; ++ j)
B[i][j] = A[j][i];
for (i = 1; i <= M; ++ i)
for (j = 1; j <= N; ++ j)
A[i][j] = B[i][j];
swap(N, M);
solve();
printf("%d\n", maximum);
}