Cod sursa(job #387354)

Utilizator AndreiRSStatescu Andrei Rares AndreiRS Data 27 ianuarie 2010 14:09:55
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <stdio.h>

int n,m,sum;
int i,j,i2,i3,s,max;
int x,y,k,ok;
int v[101];
int a[20][20],b[20][20];

int main(){
	
	FILE*f=fopen("flip.in","r");
	fscanf(f,"%d %d\n",&n,&m);
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			fscanf(f,"%d",&a[i][j]);
		
	fclose(f);
	
	while(v[0]!=1){

		for (i=1;i<=n;i++)
			for (j=1;j<=m;j++)
				b[i][j] = a[i][j];
		
		k=m;
		while(v[k]==1){
			v[k]=0;
			k--;
		}
		v[k]=1;
		
		for(j=1;j<=m;j++)
			if(v[j]==1) {
				for (i=1;i<=n;i++)
					b[i][j]=-b[i][j];
			}
		
		/*for(j=1;j<=n;j++)
			if(v[j]==1)
				for(i2=1;i2<=n;i2++)
					b[i][j]*=-1;*/
		
		s=0;
		for(i=1;i<=n;i++) {
			sum = 0;
			for(j=1;j<=m;j++)
				sum+=b[i][j];
			if (sum>0)
				s+=sum;
			else
				s-=sum;
		}
		
		if(s>max)
			max=s;
	}

	
	FILE*f2=fopen("flip.out","w");
	fprintf(f2,"%d",max);
	fclose(f2);
	
	
	
	
	return 0;
}