Cod sursa(job #419647)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 17 martie 2010 19:27:56
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<stdio.h>
#include<string.h>
FILE*f=fopen("flip.in","r");
FILE*g=fopen("flip.out","w");
int smax,a[20][20],j,n,x[20],m,i,b[20][20],S,s,r;
int back(int k){
	int i; int s=0;
	if(k==m+1){
		memcpy(b,a,sizeof(a));
		for(i=1;i<=m;i++){
			if(x[i]==1){
				for(j=1;j<=n;j++)
					b[j][i]=-b[j][i];
			}
		}
		S=0;
		for(i=1;i<=n;i++){
			s=0;
			for(j=1;j<=m;j++)
				s+=b[i][j];
			if(s<0)
				S=S-s;
			else
				S=S+s;
		}
		if(S>smax)
			smax=S;
	}
	else{
		for(i=0;i<=1;i++){
			x[k]=i;
			back(k+1);
		}
	}
	return smax;
}
	

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]);
	r=back(1);
	fprintf(g,"%d",r);
	fclose(f);
	fclose(g);
	return 0;
}