Pagini recente » Cod sursa (job #240378) | Cod sursa (job #59395) | Cod sursa (job #2411159) | Cod sursa (job #1564773) | Cod sursa (job #2602104)
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
FILE *fin, *fout;
#define MAX_N 17
#define MAX_M 17
int n, m, num[MAX_N][MAX_M];
void read(void)
{
int i, j;
fscanf(fin, "%d%d", &n, &m);
for (i = 0; i < n; ++i) {
for (j = 0; j < m; ++j) {
fscanf(fin, "%d", num[i] + j);
}
}
}
int solve(void)
{
int c, i, j, lsum, csum, bsum;
bsum = -999999;
for (c = 0; c < (1 << n); ++c) {
csum = 0;
for (i = 0; i < m; ++i) {
lsum = 0;
for (j = 0; j < n; ++j) {
if((1 << j) & c)
lsum += num[j][i];
else
lsum -= num[j][i];
///lsum += (((1 << j) & c) ? 1 : -1) * num[j][i];
}
if(lsum < 0)
lsum = -lsum;
csum += lsum; /// < 0 ? -lsum : lsum;
///fprintf(fout, "%d ", lsum < 0 ? -lsum : lsum);
}
///fprintf(fout, "\n\n");
if (csum > bsum) {
bsum = csum;
}
}
return bsum;
}
int main(void)
{
fin = fopen("flip.in", "r");
fout = fopen("flip.out", "w");
read();
fprintf(fout, "%d\n", solve());
fclose(fin);
fclose(fout);
return 0;
}