Cod sursa(job #443716)
#include <stdio.h>
int a[16][16],m,n;
int max =0;
FILE *f=fopen("flip.in","r");
FILE *g=fopen("flip.out","w");
void com_linie(int l) {
for(int i = 0; i < m; ++i) {
a[l][i] *= -1;
}
}
void suma()
{ int s=0, sc=0;
for (int i=0;i<m;i++)
{ sc=0;
for (int j=0;j<n;j++)
sc+= a[j][i];
if(sc<0) sc=-sc;
s+=sc;}
if (s > max) max = s;
}
void back(int l)
{ if (l == n) suma();
else { back(l + 1);
com_linie(l);
back(l + 1);
}
}
int main()
{ fscanf(f,"%d %d",&n,&m);
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
fscanf(f,"%d",&a[i][j]);
back(0);
fprintf(g,"%d", max);
return 0;
}