Pagini recente » Cod sursa (job #2375432) | Cod sursa (job #1170529) | Cod sursa (job #705420) | Cod sursa (job #2611302) | Cod sursa (job #195768)
Cod sursa(job #195768)
#include <stdio.h>
#define MAX 16
#define INFTY 1000000000
int a[MAX][MAX];
int m, n;
int main(void) {
FILE *fin, *fout;
int i, j, flipx, flipy, sum, max_sum;
fin = fopen("flip.in", "rt");
fscanf(fin, "%d %d\n", &n, &m);
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
fscanf(fin, "%d", &a[i][j]);
fclose(fin);
max_sum = -INFTY;
for (flipx = 0; flipx < (1 << m); ++flipx)
for (flipy = 0; flipy < (1 << n); ++flipy) {
sum = 0;
for (i = 0; i < n; i++)
for (j = 0; j < m; j++) {
int elem = a[i][j];
if (flipy & (1 << i)) elem *= -1;
if (flipx & (1 << j)) elem *= -1;
sum += elem;
}
if (sum > max_sum)
max_sum = sum;
}
fout = fopen("flip.out", "wt");
fprintf(fout, "%d\n", max_sum);
fclose(fout);
return 0;
}