Pagini recente » Cod sursa (job #1261747) | Cod sursa (job #1920406) | Cod sursa (job #2269648) | Cod sursa (job #816806) | Cod sursa (job #224613)
Cod sursa(job #224613)
#include <stdio.h>
#include <stdlib.h>
#define MAXN 16
int mat[MAXN][MAXN];
int m, n, k;
int best = 0;
void flip(int row) {
for (int i = 0; i < n; ++i)
mat[row][i] *= -1;
}
void back() {
if (k == m) {
int sum = 0;
for (int i = 0; i <n; ++i) {
int col = 0;
for (int j = 0; j <m; ++j)
col += mat[j][i];
sum += abs(col);
}
if (sum > best) best = sum;
return;
}
k++; back(); k--;
flip(k);
k++; back(); k--;
flip(k);
}
int main() {
FILE *f;
f = fopen("flip.in", "rt");
fscanf(f, "%d %d", &m, &n);
for (int i = 0; i < m; ++i)
for (int j = 0; j < n; ++j)
fscanf(f, "%d", mat[i] + j);
fclose(f);
k = 0;
back();
f = fopen("flip.out", "wt");
fprintf(f, "%d\n", best);
fclose(f);
return 0;
}