Pagini recente » Cod sursa (job #271293) | Cod sursa (job #2933934) | Cod sursa (job #1588207) | Cod sursa (job #6519) | Cod sursa (job #2274116)
#include <bits/stdc++.h>
using namespace std;
FILE *fin = fopen ("flip.in", "r"), *fout = fopen ("flip.out", "w");
#define ll long long
const int MAXN = 16;
int l[MAXN + 1], a[MAXN + 1][MAXN + 1];
ll sol;
int n, m;
void solve (int mask) {
ll s, s1, s2;
int i, j;
for (i = 0; i < n; i++)
l[i + 1] = ((1 << i) & mask) ? -1 : 1;
s = 0;
for (j = 1; j <= m; j++) {
s1 = s2 = 0;
for (i = 1; i <= n; i++) {
s1 = s1 + l[i] * a[i][j];
s2 = s2 + (-1) * l[i] * a[i][j];
}
s = s + max (s1, s2);
}
sol = max (sol, s);
}
int main() {
int i, j;
fscanf (fin, "%d%d", &n, &m);
for (i = 1; i <= n; i++)
for (j = 1; j <= m; j++)
fscanf (fin, "%d", &a[i][j]);
sol = 0;
for (i = 0; i < (1 << n); i++)
solve (i);
fprintf (fout, "%lld", sol);
return 0;
}