Pagini recente » Cod sursa (job #1205029) | Cod sursa (job #2944104) | Cod sursa (job #2128378) | Cod sursa (job #3155722) | Cod sursa (job #381313)
Cod sursa(job #381313)
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int max=0,k,v[17][17],u[17],n,m;
void suma()
{
int i,j,s,s2;
s2=0;
for (j=1;j<m+1;j++)
{
s=0;
for (i=1;i<n+1;i++) s+=(u[i]+1)*v[i][j];
s2+=abs(s);
}
if (s2>max) max=s2;
}
void back()
{
--k;
int i;
if (k==0) for (i=1;i<n+1;i++) if (u[i]==0) {u[i]=-2;suma();u[i]=0;}
else for (i=1;i<n+1;i++) if (u[i]==0) {u[i]=-2;back();u[i]=0;}
++k;
}
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+1;i++)
for (j=1;j<m+1;j++) {scanf("%d",&v[i][j]);max+=v[i][j];}
for (k=1;k<n+1;k++) back();
printf("%d",max);
return 0;
}