Cod sursa(job #711529)

Utilizator dutzulBodnariuc Dan Alexandru dutzul Data 12 martie 2012 12:16:32
Problema Jocul Flip Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#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;	
}