Cod sursa(job #744574)

Utilizator Kira96Denis Mita Kira96 Data 9 mai 2012 09:06:55
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<stdio.h>
int sol[20][20],m,n,max,tot;
int abs(int a)
{
	if(a<0)
		return -a;
	return a;
}
void back(int k)
{
	if(k==m+1)
	{
		tot=0;
		for(register int i=1;i<=n;++i)
		{
			int s=0;
			for(register int j=1;j<=m;++j)
				s+=sol[j][i];
			s=abs(s);
			tot+=s;
		}
		if(tot>max)
			max=tot;
		return;
	}
	back(k+1);
	for(register int i=1;i<=n;++i) sol[k][i]=-sol[k][i];
	back(k+1);
	for(register int i=1;i<=n;++i) sol[k][i]=-sol[k][i];
}
int main ()
{
	freopen("flip.in","r",stdin);
	freopen("flip.out","w",stdout);
	scanf("%d%d",&m,&n);
	for(int i=1;i<=m;++i)
		for(int j=1;j<=n;++j)
			scanf("%d",&sol[i][j]);
	back(1);
	printf("%d",max);
	return 0;
}