Cod sursa(job #486943)

Utilizator kyky_papoiPapoi Cecilia kyky_papoi Data 23 septembrie 2010 10:54:22
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
using namespace std;
 
ifstream fin("flip.in");
ofstream fout("flip.out");

#define N 16

void Read();
void Sume();
void Back(int );

int m, n;
int a[N][N], c[N];
long int s1, s;
long int maxim = -9999999;
 
int main()
{
    Read();
	Back(0);
	
	fout << maxim << '\n';
		
	
	fin.close();
	fout.close();
	
	return 0;
}
 
void Back(int i)
{
	if ( i >= n )
	{
		Sume();
		return;
	}
	c[i] = 1;
	Back(i+1);
	c[i] = -1;
	Back(i+1);
}
 

void Sume()
{
	s = 0;
	s1 = 0;
    for ( int i = 0; i < m; ++i )
	{
		s1 = 0;
		for ( int j = 0; j < n; ++j )
			s1 += a[i][j] * c[j];
		if ( s1 > 0 )
			s += s1;
		else
			s -= s1;
	}
	if (s > maxim )
		maxim = s;
	
}

void Read()
{
	fin >> m >> n;
	
	for ( int i = 0; i < m; ++i )
		for ( int j = 0; j < n; ++j )
			fin >> a[i][j];
	
}