Cod sursa(job #387223)

Utilizator vladcatrinaVlad Catrina vladcatrina Data 27 ianuarie 2010 08:49:23
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <stdio.h>
#include <string.h>

FILE*f = fopen("flip.in","r");
FILE*g = fopen("flip.out","w");

int a[17][17], b[17][17], v[20], i, n, m, j, k,s,x,max;

int main(){
	
	fscanf(f,"%d %d",&n, &m);
	
	for(i=1;i<=n;i++){
		for(j=1;j<=m;j++)
			fscanf(f,"%d",&a[i][j]);
	}
	
	while(v[0]!=1) {
		k=m;
		s=0;
		while(v[k]==1){
			v[k]=0;
			k--;
		}
		v[k]=1;
		
		memcpy(b,a,sizeof(a));
		
		for(i=1;i<=m;i++){
			if(v[i]==1){
				for(j=1;j<=n;j++)
					b[j][i]=-b[j][i];
			}
		}
		for(i=1;i<=n;i++){
			x = 0;
			for(j=1;j<=m;j++){
				x+=b[i][j];
			}
			if(x>0)
				s+=x;
			else
				s+=-x;
		}
		if(s>max)
			max=s;
		
	}
	fprintf(g,"%d",max);
	
	fclose(f);
	fclose(g);
	return 0;
}