Cod sursa(job #594053)

Utilizator ELHoriaHoria Cretescu ELHoria Data 6 iunie 2011 00:04:28
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>

int n , m , D[16][16] , maxs , lmax;

static inline int max(int a,int b)
{
	return a > b ? a : b;
}

void back(int k,int sum)
{
	if(k==n)
	{
		maxs = max(maxs,sum);
	}
	else
	{ int a ,b , c ,d ;
	a = b = 0;
		for(int j=0;j<lmax;++j) 
			{
			if(j<m) a+=D[k][j] , b+=D[k][j]*-1; 
			}
			back(k+1,sum+a);
			back(k+1,sum+b);
		
	}
	
}



void read()
{
	freopen("flip.in","r",stdin);
	scanf("%d %d",&n,&m); lmax = max(m,n);
	for(int i=0;i<n;++i)
		for(int j=0;j<m;++j)
			scanf("%d",&D[i][j]);
}

void write()
{
	freopen("flip.out","w",stdout);
	printf("%d",maxs);
}

int main()
{
	read();
	back(0,0);
	write();
}