Cod sursa(job #562871)

Utilizator CiurelVictorCiurel Victor CiurelVictor Data 23 martie 2011 23:33:42
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<stdio.h>

int n,m,a[17][17],sl,s,max,v[17];

void back(int);

int main()
{
	int i,j;
	
	freopen("flip.in","r",stdin);
	freopen("flip.out","w",stdout);
	
	scanf("%d %d",&n,&m);
	
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			scanf("%d",&a[i][j]);
		
	back(1);
	
	printf("%d",max);
	
	return 0;
}

void back(int x)
{
	int i,j;
	
	if(x==m+1)
	{
		s=0;
		
		for(i=1;i<=n;i++)
		{
			sl=0;
			
			for(j=1;j<=m;j++)
			{
				if(v[j]==0)
					sl+=a[i][j];
				else
					sl-=a[i][j];
			}
			
			if(sl<0)
				sl=-sl;
			
			s+=sl;
		}
			
		if(s>max)
			max=s;
	}
	else
	{
		for(i=0;i<=1;i++)
		{
			v[x]=i;
			back(x+1);
		}
	}
}