Cod sursa(job #326917)

Utilizator rumburakrumburak rumburak Data 26 iunie 2009 16:58:12
Problema Fractii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<cstdio>

const int N=17;
const int oo=1<<30;

int n,m,a[N][N],max=-oo;
bool sol[N];

void citire()
{
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;++i)
		for(int j=1;j<=m;++j)
			scanf("%d",&a[i][j]);
}

void calcul()
{
	int s=0,lin;
	for(int i=1;i<=n;++i)
	{
		lin=0;
		for(int j=1;j<=m;++j)
			lin+=(sol[j] ? a[i][j] : -a[i][j]);
		s+= (lin>=0 ? lin : -lin);
	}
	if(s>max)
		max=s;
}

void bkt(int k)
{
	if(k==m+1)
	{
		calcul();
		return;
	}
	sol[k]=false;
	bkt(k+1);
	sol[k]=true;
	bkt(k+1);
}

int main()
{
	freopen("flip.in","r",stdin);
	freopen("flip.out","w",stdout);
	citire();
	bkt(1);
	printf("%d\n",max);
	return 0;
}