Cod sursa(job #565514)

Utilizator antonioteoZait Teodor Antonio antonioteo Data 27 martie 2011 20:51:17
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<fstream.h>
int N, M, sm = 0, smax = 0, V[ 20 ][ 20 ];

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