Cod sursa(job #640841)

Utilizator mlupseLupse-Turpan Mircea mlupse Data 26 noiembrie 2011 16:23:34
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#define Max(a,b) a>b ? a : b
using namespace std;

int N,M,Flip[17][17],S;

void Citire ()
{
	ifstream fin ("flip.in");
	int i, j;
	fin >> N >> M;
	for (i=0; i<N; i++)
		for (j=0; j<M; j++)
			fin >> Flip[i][j];
}

void Afisare ()
{
	ofstream fout ("flip.out");
	fout << S << "\n";
}

int main ()
{
	int n, i, j, ConfiguratieMax,SCurent, Element, SLinie;
	Citire ();
	ConfiguratieMax=1<<M;
	for (n=0; n<=ConfiguratieMax; n++)
	{
		SCurent=0;
		for (i=0; i<N; i++)
		{
			SLinie=0;
			for (j=0; j<M; j++)
			{
				Element=Flip[i][j];
				if ((n&(1<<j))!=0)
				{
					Element*=(-1);
				}
				SLinie+=Element;
			}
			SCurent+=Max (SLinie, -SLinie);
		}
		if (SCurent>S)
		{
			S=SCurent;
		}
	}
	Afisare ();
	return 0;
}