Cod sursa(job #387110)

Utilizator Robert29FMI Tilica Robert Robert29 Data 26 ianuarie 2010 20:48:42
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <stdio.h>
FILE *f = fopen("flip.in","r");  
FILE *g = fopen("flip.out","w");  
int A[18][18]; 
int B[18][18]; 
int V[18]; 
int n,m,i,j,max,k,s,S; 
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]);
	max = 0; 
	while (V[0]!=1) {    
		for (i=1;i<=n;i++) 
			for (j=1;j<=m;j++) 
				B[i][j] = A[i][j]; 
		for (j=1;j<=m;j++)  
			if (V[j] == 1) { 
				for (i=1;i<=n;i++)       
					B[i][j] = -B[i][j]; 
			} 
		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;       
			else             
				S-=s;        
		}       
		if (S>max)        
			max = S; 
		k = m;   
		while (V[k]==1)         
			V[k--] = 0; 
		V[k] = 1; 
	} 
	fprintf(g,"%d",max); 
	fclose(f); 
	fclose(g); 
	return 0; 
}