Pagini recente » Cod sursa (job #2806848) | Cod sursa (job #381317)
Cod sursa(job #381317)
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
long long max=0,k,v[17][17],u[17],n,m;
void suma()
{
long long 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;
long long 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()
{
long long i,j;
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%lld%lld",&n,&m);
for (i=1;i<n+1;i++)
for (j=1;j<m+1;j++) {scanf("%lld",&v[i][j]);max+=v[i][j];}
for (k=1;k<n+1;k++) back();
printf("%lld",max);
return 0;
}