Pagini recente » Cod sursa (job #982280) | Cod sursa (job #2974580) | Cod sursa (job #800929) | Cod sursa (job #3195091) | Cod sursa (job #711525)
Cod sursa(job #711525)
#include <cstdio>
#define LE 40
#define FOR for(i=1;i<=n;++i) for(j=1;j<=m;++j)
using namespace std;
int MIN=1<<30*-1, n,semn[LE],i,semn2[LE],m,a[LE][LE],s[LE],j;
int sum()
{
int REZ=0;
FOR if (semn[i]) a[i][j]*=-1;
FOR s[j]+=a[i][j];
for(i=1;i<=m;++i)
if (s[i]<0) semn2[i]=1; else semn2[i]=0;
FOR {
if (semn2[j]) a[i][j]*=-1;REZ+=a[i][j];
}
if (REZ>MIN) MIN=REZ;
}
int bkt(int k)
{
if (k==n+1) sum();
else{
semn[k]=0,bkt(k+1);
semn[k]=1,bkt(k+1);
}
}
int main()
{
freopen("flip.in","r",stdin);freopen("flip.out","w",stdout);
scanf("%ld%ld",&n,&m);
FOR scanf("%ld",&a[i][j]);
bkt(1);
printf("%ld",MIN);
return 0;
}