Cod sursa(job #417873)

Utilizator brainwashed20Alexandru Gherghe brainwashed20 Data 14 martie 2010 23:14:35
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <stdio.h>

#define N 18

int m,n,i,j,s,max,rez,a[N][N],st[N];

void back(int k) {
	if(k==m) {
		s=0; rez=0;
		for (i=0; i<n; ++i) {
			s=0;
			for (j=0; j<m; ++j)
				s+=st[j]*a[i][j];
			if (s<0) s=s*(-1);
			rez+=s;
		}
		if (rez>max) max=rez;
	}
	else {
		st[k]=1;
		back(k+1);
		st[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]);
		max+=a[i][j];
	}
	back(0);
	
	printf("%d\n",max);

	return 0;
}