Cod sursa(job #525524)

Utilizator vladstoickvladstoick vladstoick Data 25 ianuarie 2011 14:05:41
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<stdio.h>
bool sol[100];
int n , max=-1,  a [18][18] , m;
void prel()
{
	int i , j , suma , st= 0;
	for(i=1;i<=n;i++)
	{
		suma=0;
		for(j=1;j<=m;j++)
			if(sol[j]==true)
				suma+=a[i][j]*-1;
			else
				suma+=a[i][j];
		if(suma<0)
			st=st+(suma)*-1;
		else 
			st+=suma;
	}
	if(st>max)
		max=st;
}
	
void bkt(int p)
{
	if(p==m+1)
	{
		prel();
		return;
	}
	sol[p]=false;
	bkt(p+1);
	sol[p]=true;
	bkt(p+1);
}
int main()
{
	int  i , j ;
	freopen("flip.in","r",stdin);
	freopen("flip.out","w",stdout);
	scanf("%ld%ld",&n,&m);
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			scanf("%ld",&a[i][j]);
	bkt(1);
	printf("%ld",max);
	return 0;
}