Pagini recente » Cod sursa (job #290849) | Cod sursa (job #2574077) | Cod sursa (job #375604) | Cod sursa (job #616555) | Cod sursa (job #66110)
Cod sursa(job #66110)
#include<stdio.h>
long i,j,n,st[100],max,m,a[20][20];
void suma(int k)
{
long x,y,sum=0,col[20];
int viz[20];
for(x=1;x<=20;x++)
col[x]=viz[x]=0;
for(x=1;x<=k;x++)
viz[st[k]]=1;
for(y=1;y<=m;y++)
for (x=1;x<=n;x++)
if (viz[x]==0)
col[y]+=a[x][y];
else
col[y]=col[y]-a[x][y];
for(x=1;x<=m;x++)
{
if(col[x]<0)
col[x]=-col[x];
sum+=col[x];
}
if(max<sum)
max=sum;
}
void back(int k)
{
long p;
for(p=st[k-1]+1;p<=n;p++)
{
st[k]=p;
suma(k);
back(k+1);
}
}
int main()
{
freopen("flip.out","w",stdout);
freopen("flip.in","r",stdin);
scanf("%ld%ld",&n,&m);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
scanf("%ld",&a[i][j]);
//suma linii
st[0]=0;
back(1);
printf("%ld\n",max);
return 0;
}