Pagini recente » Cod sursa (job #51583) | Cod sursa (job #1895004) | Cod sursa (job #149688) | Cod sursa (job #693704) | Cod sursa (job #2033605)
#include <stdio.h>
#include <stdlib.h>
#define MAXN 16
int a[MAXN][MAXN+1], sumlin[MAXN];
int main()
{
int n, m, i, j, nr, lin, col, sum, max;
FILE *fi, *fo;
fi = fopen("flip.in", "r");
fo = fopen("flip.out", "w");
fscanf(fi, "%d%d", &n, &m);
for(i=0; i<n; i++)
for(j=0; j<m; j++) {
fscanf(fi, "%d", &a[i][j]);
a[i][m]+=a[i][j];
}
nr=1;
for(i=0; i<m; i++)
nr*=2;
max=0;
for(i=0; i<nr; i++) {
for(lin=0; lin<n; lin++)
sumlin[lin]=a[lin][m];
for(col=0; col<m; col++)
if(i&(1<<col)) {
for(lin=0; lin<n; lin++)
sumlin[lin]=a[lin][m]-2*a[lin][col];
}
sum=0;
for(lin=0; lin<n; lin++)
sum+=(sumlin[lin]>0 ? sumlin[lin] : -sumlin[lin]);
if(sum>max)
max=sum;
}
fprintf(fo, "%d", max);
fclose(fi);
fclose(fo);
return 0;
}