Cod sursa(job #65413)

Utilizator mariussMarius Telespan mariuss Data 9 iunie 2007 13:47:38
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<stdio.h>
int v[20][20],i,j,n,m,max=-9999,s;

void back(int o, int p)
{
	if(o<=m&&p<=n)
	{
	for(int i=1;i<=m;i++)
		v[i][p]*=-1;

	for(int j=1;j<=n;j++)
		v[o][j]*=-1;

	v[o][p]*=-1;

	s=0;

	for(i=1;i<=m;i++)
		for(j=1;j<=n;j++)
			s+=v[i][j];

	if(s>max) max=s;

	for(i=1;i<=m;i++)
		v[i][p]*=-1;

	for(j=1;j<=n;j++)
		v[o][j]*=-1;

	v[o][p]*=-1;

	if(p!=n) back(o,p+1);
		else
			back(o+1,1);

    }
}

int main()
{
	freopen("flip.in","r",stdin);
	freopen("flip.out","w",stdout);

	scanf("%d %d",&m,&n);

	for(i=1;i<=m;i++)
		for(j=1;j<=n;j++)
			scanf("%d",&v[i][j]);

	back(1,1);

	printf("%d",max);

	return 0;

}