Pagini recente » Cod sursa (job #2377101) | Cod sursa (job #1875628) | Cod sursa (job #1434155) | Cod sursa (job #1051586) | Cod sursa (job #329517)
Cod sursa(job #329517)
#include<stdio.h>
int a[18][18],b[18][18],n,m,i,j,j1,t,s,smax;
int main()
{
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",&a[i][j]);
smax+=a[i][j];
}
for(j1=1;j1<(1<<n);++j1)
{
s=0;
t=j1;
for(i=1;i<=n;++i)
{
for(j=1;j<=m;++j)
if(t%2)
s+=(-1)*a[i][j];
else
s+=a[i][j];
t/=2;
}
if(s>smax)
{
t=j1;
smax=s;
for(i=1;i<=n;++i)
{
for(j=1;j<=m;++j)
if(t%2)
b[i][j]=(-1)*a[i][j];
else
b[i][j]=a[i][j];
t/=2;
}
}
}
for(i=1;i<=m;++i)
{
s=0;
for(j=1;j<=n;++j)
s+=b[j][i];
if(s<0)
smax-=2*s;
}
printf("%d\n",smax);
return 0;
}