Cod sursa(job #729036)

Utilizator mattapoMatei Apolzan mattapo Data 29 martie 2012 10:48:42
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<stdio.h>
int v[17],total=0,max=0,a[17][17],m,n;
void prelucrare (int p)
{
	int i,j,coptotal=total;
	for (i=1;i<=p;i++)
		coptotal=coptotal-(2*a[0][v[i]]);
	for (i=1;i<=n;i++)
	{
		if (a[i][0]<0)
		{
			coptotal=coptotal-(2*a[i][0]);
			for (j=1;j<=p;j++)
				coptotal=coptotal-(2*a[i][v[j]]);
		}
	}
	if (max<coptotal)
		max=coptotal;
}
void bkt (int p)
{
	int i;
	prelucrare(p-1);
	for (i=1+v[p-1];i<=m;i++)
	{
		v[p]=i;
		bkt(p+1);
	}
}
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]);
			a[i][0]=a[i][0]+a[i][j];
			a[0][j]=a[0][j]+a[i][j];
			total=total+a[i][j];
		}
	bkt(1);
	printf("%d",max);
	return 0;	
}