Pagini recente » Borderou de evaluare (job #288134) | Borderou de evaluare (job #2825550) | Borderou de evaluare (job #3001276) | Cod sursa (job #744574)
Cod sursa(job #744574)
#include<stdio.h>
int sol[20][20],m,n,max,tot;
int abs(int a)
{
if(a<0)
return -a;
return a;
}
void back(int k)
{
if(k==m+1)
{
tot=0;
for(register int i=1;i<=n;++i)
{
int s=0;
for(register int j=1;j<=m;++j)
s+=sol[j][i];
s=abs(s);
tot+=s;
}
if(tot>max)
max=tot;
return;
}
back(k+1);
for(register int i=1;i<=n;++i) sol[k][i]=-sol[k][i];
back(k+1);
for(register int i=1;i<=n;++i) sol[k][i]=-sol[k][i];
}
int main ()
{
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%d%d",&m,&n);
for(int i=1;i<=m;++i)
for(int j=1;j<=n;++j)
scanf("%d",&sol[i][j]);
back(1);
printf("%d",max);
return 0;
}