Pagini recente » Cod sursa (job #3042257) | Cod sursa (job #1029453) | Cod sursa (job #2151149) | Cod sursa (job #1106133) | Cod sursa (job #357529)
Cod sursa(job #357529)
#include<stdio.h>
int n,m,a[21][21],max,b[21][21];
int bit( int x,int y)
{
int nr=(1<<y);
if(x&nr)
return 1;
return 0;
}
int main ()
{
int i,j,z,smare,sum;
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
scanf("%d",&a[i][j]);
b[i][j]=a[i][j];
}
for(i=0;i<(1<<n);i++)
{
for(j=0;j<=n-1;j++)
if(bit(i,j))
{
for(z=1;z<=m;z++)
a[j+1][z]=-a[j+1][z];
}
smare = 0;
for(j=1;j<=m;j++)
{
sum = 0;
for(z=1;z<=n;z++)
sum+=a[z][j];
if(sum<0)
sum=-sum;
smare+=sum;
}
if(max<smare)
max=smare;
for(j=1;j<=n;j++)
for(z=1;z<=m;z++)
a[j][z]=b[j][z];
}
printf("%d",max);
return 0;
}