Pagini recente » Cod sursa (job #1311070) | Cod sursa (job #721388) | Cod sursa (job #386532) | Cod sursa (job #42064) | Cod sursa (job #1691469)
#include<cstdio>
int a[17][17];
int a1[17][17];
int v[17];
int main()
{
int n,m,i,j,max,cj,f,r,stot,s,min,q,cs,j1,cm,p2;
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%d%d",&n,&m);
stot=0;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
scanf("%d",&a[i][j]);
a1[i][j]=a[i][j];
stot+=a[i][j];
}
}
max=stot;
cs=stot;
cm=m;
p2=1;
while(cm!=0)
{
p2*=2;
cm--;
}
for(j=1;j<=p2;j++)
{
stot=cs;
cj=j;
f=0;
while(cj!=0)
{
r=cj%2;
cj=cj/2;
v[++f]=r;
}
for(q=1;q<=m;q++)
{
if(v[q]==1)
{
for(i=1;i<=n;i++)
{
a1[i][q]*=-1;
stot=stot+2*a1[i][q];
//a1[i][q]=a[i][q];
}
}
}
min=99999;
for(i=1;i<=n;i++)
{
s=0;
for(j1=1;j1<=m;j1++)
{
s+=a1[i][j1];
}
if(s<0)
{
if(s<min)
min=s;
}
}
if(min!=99999)
stot=stot+(min*-1)*2;
if(stot>max)
max=stot;
for(i=1;i<=n;i++)
{
for(j1=1;j1<=m;j1++)
{
a1[i][j1]=a[i][j1];
}
}
}
printf("%d\n",max);
return 0;
}