Cod sursa(job #147479)

Utilizator pitbullpitbulll pitbull Data 2 martie 2008 22:45:17
Problema Jocul Flip Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.65 kb
# include <stdio.h>
# define MAX 16
int N,M,i,j,A[MAX][MAX];
int max=0;
int maxx=0;

void solve(){
	int i,j,k;
	for (i=0;i<(1<<M);i++){
		max=0;	
		for (j=0;j<N;j++){
			int sum=0;
			for (k=0;k<M;k++){
				if(i & ( 1 << k ) ){
					sum+=-A[j][k];
				}
				else
					sum+=A[j][k];
			}
			if(sum<0)
				sum=-sum;
			max+=sum;	
			}
		if(max>maxx)
			maxx=max;	
			
	}
}

int main (){
	FILE *in=fopen("flip.in","rt");
	fscanf(in,"%d %d",&N,&M);
	for (i=0;i<N;i++)
		for (j=0;j<M;j++)
			fscanf(in,"%d",&A[i][j]);
	solve();
	fclose(in);
	FILE *out=fopen("flip.out","wt");
	fprintf(out,"%d",maxx);
	fclose(out);
	return 0;
}