Pagini recente » Cod sursa (job #2169661) | Cod sursa (job #2361632) | Cod sursa (job #1961237) | Cod sursa (job #845528) | Cod sursa (job #1758150)
#include <stdio.h>
#define lim 16
int mat[lim][lim],col[lim];
int modul(int x){
if(x<0)
return x*(-1);
return x;
}
int main(){
FILE *fin,*fout;
fin=fopen("flip.in","r");
fout=fopen("flip.out","w");
int i,j,k,n,m,sum,maxim=-2000000000;
fscanf(fin,"%d%d",&n,&m);
for(i=0;i<n;i++)
for(j=0;j<m;j++){
fscanf(fin,"%d",&mat[i][j]);
col[j]+=mat[i][j];
}
for(k=0;k<(1<<n);k++){
for(i=0;i<n;i++)
if(k&(1<<i))
for(j=0;j<m;j++)
col[j]-=2*mat[i][j];
sum=0;
for(j=0;j<m;j++)
sum+=modul(col[j]);
if(sum>maxim)
maxim=sum;
for(i=0;i<n;i++)
if(k&(1<<i))
for(j=0;j<m;j++)
col[j]+=2*mat[i][j];
}
fprintf(fout,"%d",maxim);
fclose(fin);
fclose(fout);
return 0;
}