Pagini recente » Cod sursa (job #19209) | Cod sursa (job #977087) | Cod sursa (job #2556323) | Cod sursa (job #379907) | Cod sursa (job #279588)
Cod sursa(job #279588)
#include <stdio.h>
int A[16][16],B[16][16];
int n,m,posib,k,i,j,b,s,sT,sMax;
FILE *f = fopen("flip.in", "r");
FILE *g = fopen("flip.out", "w");
int main(){
fscanf(f,"%d %d",&n,&m);
for (i=0; i<n; i++)
for (j=0; j<m; j++)
fscanf(f,"%d",&A[i][j]);
posib = (1<<m) - 1;
for (k=0; k<=posib; k++) {
sT = 0;
for (b=0; b<m; b++)
if ((k>>b) & 1)
for (i=0; i<n; i++)
B[i][b] = -A[i][b];
else
for (i=0; i<n; i++)
B[i][b] = A[i][b];
for (i=0; i<n; i++) {
s = 0;
for (j=0; j<m; j++) {
s += B[i][j];
if (s<0)
s *= -1;
}
sT += s;
}
if (sT > sMax)
sMax = sT;
}
fprintf(g,"%d",sMax);
fclose(f);
fclose(g);
return 0;
}