Cod sursa(job #160863)

Utilizator ciprianfFarcasanu Alexandru Ciprian ciprianf Data 17 martie 2008 10:24:25
Problema Jocul Flip Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <stdio.h>
#define N 21
#define INF -2000000000
int a[N][N],v[N],s,smax=INF,stiva[N],m,n;
void solutie(){
	int i,j;	
	int x=0;
	for(i=1,s=0;i<=m;i++){
		for(j=1,x=0;j<=n;j++)
			x+=stiva[j]*a[i][j];
		if(x>0) s+=x;
		else s+=-x;
	}
	if(s>smax) smax=s;
}
void back(int l){
	if(l>=m) solutie();
	else {
		stiva[l+1]=1; back(l+1);
		stiva[l+1]=-1; back(l+1);
	}
}
			
int main(){
	int i,j;
	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",&a[i][j]);
	back(0);
	printf("%d",smax);
}