Cod sursa(job #1283107)

Utilizator ELHoriaHoria Cretescu ELHoria Data 5 decembrie 2014 02:26:10
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul II Marime 0.61 kb
#include <cstdio>

int n , m , D[16][16] , maxs = -100 , s[16];

void check()
{
	int now , aux;
	now = aux = 0;
	for(int i=0;i<n;++i)
		{ aux = 0;
		for(int j=0 ;j<m;++j)
			aux+=D[i][j]*s[j];
		now += ((aux>0)?aux:-aux);
	}
	maxs = maxs > now ? maxs : now;
}

void back(int i)
{
	if(i<m)
	{
	s[i] = -1;
	back(i+1);
	s[i] = 1;
	back(i+1);
	}
	else check();

}

void read()
{
	freopen("flip.in","r",stdin);
	scanf("%d %d",&n,&m); 
	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);
	write();
	return 0;
}