Cod sursa(job #1969887)

Utilizator enzojack123Mihut Lorenzo enzojack123 Data 18 aprilie 2017 18:25:43
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <fstream>
#define max(a,b) a>b? a:b
#define inf -10000000

using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int v[15][15], m,n, b[15],smax=inf;

void suma()
{
	int sc = 0, st = 0;
	for (int i = 0; i < m; i++)
	{
		sc = 0;
		for (int j = 0; j < n; j++)
		{
			if (b[j])
				sc += v[i][j];
			else
				sc -= v[i][j];
		}
		if (sc < 0)
			st -= sc;
		else
			st += sc;
	}
	smax = max(smax, st);

}

void parcurg()
{
	while (b[0] == 0)
	{
		int i = m - 1;
		while (b[i] == 1 && i >= 0)
		{
			b[i--] = 0;
		}
		b[i] = 1;
		suma();
	}
}

int main()
{
	f >> m >> n;
	for(int i=0;i<m;i++)
		for (int j = 0; j < n; j++)
		{
			f >> v[i][j];
		}
	parcurg();
	g << smax;
	f.close();
	g.close();
	return 0;
}