Cod sursa(job #462703)

Utilizator xdozeAnatole Duquele xdoze Data 12 iunie 2010 23:03:03
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
using namespace std;
#include<cstdio>
int sol[18],a[17][17],n,m,i,j,max;

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

void back(int k)
{
	if(k==m) suma();
	else
	{
		sol[k]=0;
		back(k+1);
		sol[k]=1;
		back(k+1);
	}
}

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