Pagini recente » Cod sursa (job #96047) | Cod sursa (job #3168712) | Cod sursa (job #2811317) | Cod sursa (job #1198543) | Cod sursa (job #96041)
Cod sursa(job #96041)
#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++){
for (i=0;i<n;i++)
for (j=0;j<m;j++)
b[i][j]=a[i][j];
// 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;
}