Pagini recente » Cod sursa (job #1127633) | Cod sursa (job #2564079) | Cod sursa (job #1135445) | Cod sursa (job #1349062) | Cod sursa (job #729036)
Cod sursa(job #729036)
#include<stdio.h>
int v[17],total=0,max=0,a[17][17],m,n;
void prelucrare (int p)
{
int i,j,coptotal=total;
for (i=1;i<=p;i++)
coptotal=coptotal-(2*a[0][v[i]]);
for (i=1;i<=n;i++)
{
if (a[i][0]<0)
{
coptotal=coptotal-(2*a[i][0]);
for (j=1;j<=p;j++)
coptotal=coptotal-(2*a[i][v[j]]);
}
}
if (max<coptotal)
max=coptotal;
}
void bkt (int p)
{
int i;
prelucrare(p-1);
for (i=1+v[p-1];i<=m;i++)
{
v[p]=i;
bkt(p+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",&a[i][j]);
a[i][0]=a[i][0]+a[i][j];
a[0][j]=a[0][j]+a[i][j];
total=total+a[i][j];
}
bkt(1);
printf("%d",max);
return 0;
}