Cod sursa(job #762117)

Utilizator VladberilaVladutz Vladberila Data 28 iunie 2012 18:35:23
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <cstdio>
FILE *f = fopen("flip.in","r");
FILE *g = fopen("flip.out","w");

int m,n,a[17][17],flip[17];
long long sum,s;

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

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

void back(int k){
	
	if(k==m){
		
		suma();
		return;
	}
	flip[k]=-1;
	back(k+1);
	flip[k]=1;
	back(k+1);
}

void afis(){
	
	fprintf(g,"%lld",sum);
	fclose(g);
}

int main(){
	
	citire();
	back(0);
	afis();
	return 0;
}