Cod sursa(job #748646)

Utilizator geniucosOncescu Costin geniucos Data 14 mai 2012 13:10:50
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<cstdio>
using namespace std;
int maxi,k,i,j,s1,n,m,s,x[20],a[20][20];
void back()
{
	k=1;
	x[k]=-1;
	while(k>0)
	{
		while(x[k]<1&&k<=n)
		{
			x[k]++;
			if(x[k]==0) ;
			else
			{
				for(j=1;j<=m;j++)
					a[k][j]=a[k][j]*-1;
			}
			if(k==n)
			{
				s1=0;
				for(j=1;j<=m;j++)
				{
					s=0;
					for(i=1;i<=n;i++)
						s=s+a[i][j];
					if(s<0) s=s*-1;
					s1=s1+s;
				}
				if(s1>maxi) maxi=s1;
			}
			else
			{
				k++;
				x[k]=-1;
			}
		}
		if(x[k]==1)
		{
			for(j=1;j<=m;j++)
				a[k][j]=a[k][j]*-1;
		}
		k--;
	}
}
int main()
{
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();
printf("%d\n",maxi);
return 0;
}