Pagini recente » Arhiva de probleme | Cod sursa (job #2846850) | Cod sursa (job #2752476) | Cod sursa (job #1683891) | Cod sursa (job #96040)
Cod sursa(job #96040)
#include <stdio.h>
#include <mem.h>
long int a[16][16],b[16][16],s[16],c;
int n,m,i,j;
int main(){
int i,j;
FILE *f = fopen("flip.in","r");
fscanf(f,"%d %d",&n, &m);
for (i=0;i<n;i++){
for (j=0;j<m;j++) {
fscanf(f,"%ld",&a[i][j]);
}
}
fclose(f);
long int sumMax = 0, sum, sumc;
for (c=0;c<(1<<n);c++){
memmove(b,a,sizeof(b));
for (i=0;i<n;i++)
if ((c>>i)&1) {
for (j=0;j<m;j++) b[i][j]=-b[i][j];
}
sum = 0;
for (j=0;j<m;j++){
sumc = 0;
for (i=0;i<n;i++)
sumc = sumc + b[i][j];
if (sumc > 0) sum+=sumc;
else sum+=(-sumc);
}
if (sum>sumMax) {
sumMax = sum;
}
}
FILE *g = fopen("flip.out","w");
fprintf(g,"%ld",sumMax);
fclose(g);
return 0;
}