Pagini recente » Cod sursa (job #2476469) | Cod sursa (job #1519484) | Cod sursa (job #2021619) | Cod sursa (job #551484) | Cod sursa (job #280045)
Cod sursa(job #280045)
#include<stdlib.h>
#include<stdio.h>
int n,m,a[20][20],b[20][20],v[20],SMax;
void flip(int k)
{
if(k==m+1)
{int i,j,s=0,s1,s2;
for(i=1;i<=m;++i)
for(j=1;j<=n;++j) b[j][i]=a[j][i]*v[i];
for(i=1;i<=n;++i)
{s1=s2=0;
for(j=1;j<=m;++j) s1+=b[i][j],s2+=b[i][j]*-1;
s+=s1>s2?s1:s2;
}
if(s>SMax) SMax=s;
}else {
v[k]=1;
flip(k+1);
v[k]=-1;
flip(k+1);
}
}
int main()
{
freopen("flip.in","rt",stdin);
freopen("flip.out","wt",stdout);
scanf("%d %d",&n,&m);
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j) scanf("%d",&a[i][j]);
flip(1);
printf("%d\n",SMax);
//system("PAUSE");
return 0;
}