Pagini recente » Cod sursa (job #1792482) | Cod sursa (job #1697411) | Cod sursa (job #1737508) | Cod sursa (job #2049698) | Cod sursa (job #1961815)
#include <stdio.h>
#include <stdlib.h>
int v[16][16];
int sumcol[16];
int lips[16];
void reset(){
int j;
for(j=0;j<16;j++)
lips[j]=0;
}
int main()
{
int n,m,k,i,j,sum,nr,max=-256000001,q;
FILE*fi,*fo;
fi=fopen("flip.in","r");
fo=fopen("flip.out","w");
fscanf(fi,"%d%d",&n,&m);
for(i=0;i<n;i++)
for(j=0;j<m;j++){
fscanf(fi,"%d",&v[i][j]);
sumcol[j]+=v[i][j];
}
for(i=0;i<(1<<n);i++){
k=i;
sum=0;
nr=0;
while(k>0)
{
if(k%2==1){
for(j=0;j<m;j++)
lips[j]+=2*v[nr][j];
}
nr++;
k/=2;
}
for(j=0;j<m;j++)
{
if(sumcol[j]-lips[j]>sumcol[j]*-1+lips[j])
sum+=sumcol[j]-lips[j];
else sum+=sumcol[j]*-1+lips[j];
}
if(sum>max)
max=sum;
reset();
}
fprintf(fo,"%d",max);
fclose(fi);
fclose(fo);
return 0;
}