Cod sursa(job #905171)

Utilizator tudorv96Tudor Varan tudorv96 Data 5 martie 2013 17:24:52
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#include <iostream>
using namespace std;

int v[17][17], m, n, sl[17], x[17], MAX = -16000001, s;

void Check ()
{
	s = 0;
	for (int i = 0; i < m; ++i)
		sl[i] = 0;
	for (int i = 0; i < m; ++i)
		for (int j = 0; j < n; ++j)
			sl[i] += x[j] * v[i][j];
	for (int i = 0; i < m; ++i)
		s += sl[i] >= 0 ? sl[i] : -sl[i]; 
	MAX = MAX > s ? MAX : s;
}

void Back (int k)
{
	for (int i = 0; i < 2; ++i)
	{
		x[k] = -1 + i * 2;
		if (k == n - 1)
			Check ();
		else
			Back (k + 1);
	}
}

int main ()
{
	ifstream fin ("flip.in");
	fin >> m >> n;
	for (int i = 0; i < m; ++i)
		for (int j = 0; j < n; ++j)
			fin >> v[i][j];
	fin.close ();
	Back (0); 
	ofstream fout ("flip.out");
	fout << MAX;
	fout.close();
	return 0;
}