Pagini recente » Cod sursa (job #1634844) | Cod sursa (job #2419866) | Cod sursa (job #306065) | Cod sursa (job #873371) | Cod sursa (job #98)
Cod sursa(job #98)
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
FILE *fin, *fout;
#define MAX_N (1 << 5)
#define MAX_M (1 << 5)
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) {
lsum += (((1 << j) & c) ? 1 : -1) * num[j][i];
}
csum += lsum < 0 ? -lsum : lsum;
/*fprintf(fout, "%d ", lsum < 0 ? -lsum : lsum);*/
}
/*fprintf(fout, "\n");*/
if (csum > bsum) {
bsum = csum;
}
}
return bsum;
}
int main(void)
{
fin = fopen("flip.in", "rt");
fout = fopen("flip.out", "wt");
read();
fprintf(fout, "%d\n", solve());
fclose(fin);
fclose(fout);
return 0;
}