Pagini recente » Cod sursa (job #1240930) | Cod sursa (job #3174295) | Cod sursa (job #1683857) | Cod sursa (job #446225) | Cod sursa (job #168972)
Cod sursa(job #168972)
#include<stdio.h>
int n,m,v[20][20],l[20],c[20],l1[20],c1[20],sol[20],smax=0;
void calc()
{
int i,j,s=0;
for(i=1; i<=n; i++)
l1[i]=l[i];
for(j=1; j<=m; j++)
c1[j]=c[j];
for(i=1; i<=m; i++)
{
if(sol[i]==-1)
{
for(j=1; j<=n; j++)
l1[j]-=v[j][i]+v[j][i];
}
}
for(i=1; i<=n; i++)
{
if(l1[i]<0)
s-=l1[i];
else
s+=l1[i];
}
if(s>smax)
smax=s;
}
void back(int k)
{
if(k==m+1)
calc();
else
{
sol[k]=1;
back(k+1);
sol[k]=-1;
back(k+1);
}
}
int main()
{
int i,j;
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",&v[i][j]);
c[j]+=v[i][j];
l[i]+=v[i][j];
}
}
for(i=1; i<=n; i++)
smax+=l[i];
back(1);
printf("%d",smax);
return 0;
}