Pagini recente » Cod sursa (job #943569) | Cod sursa (job #1976064) | Cod sursa (job #526052) | Monitorul de evaluare | Cod sursa (job #711529)
Cod sursa(job #711529)
#include <cstdio>
#define LE 40
#define FOR for(i=1;i<=n;++i) for(j=1;j<=m;++j)
using namespace std;
int MAX=0, n,semn[LE],i,semn2[LE],m,a[LE][LE],s[LE],j,ma[LE][LE];
int sum()
{
int REZ=0;
FOR a[i][j]=ma[i][j];
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>MAX) MAX=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",&ma[i][j]);
bkt(1);
printf("%ld",MAX);
return 0;
}