Cod sursa(job #565457)

Utilizator antonioteoZait Teodor Antonio antonioteo Data 27 martie 2011 19:52:43
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream.h>
int l, c, sm=0, smax=0, m[20][20];

void flipl(int ln){
	for(int i=1; i<=c; i++)
	m[ln][i]*=-1;
}
void sol(){
	int s=0, i, j;
	sm=0;
	for(i=1; i<=c; i++){
		s=0;
		for(j=1; j<=l; j++)
		s+=m[j][i];
		if(s<0)
		s=-s;
		sm+=s;
	}
	if(sm>smax)
		smax=sm;
}
void back(int k){
	if(k>l)
	sol();
	else{
		flipl(k);
		back(k+1);
		flipl(k);
		back(k+1);
	}
}
int main(){
	ifstream read ("flip.in");
	ofstream print ("flip.out");
	read >> l >> c;
	for ( int i = 1; i <= l; i++ ){
		for ( int j = 1; j <= c; j++ ){
			read >> m[ i ][ j ];
		}
	}
	back ( 1 );
	print << smax << '\n';
	return 0;
}