Cod sursa(job #796457)

Utilizator googolplexeGoogol googolplexe Data 11 octombrie 2012 16:31:16
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>

using namespace std;

int a[16][16],lines=0,columns=0,maxSum = 0;

ifstream f("flip.in");
ofstream g("flip.out");

void read()
{
	int i,j;
	f>>lines>>columns;
	for(i=0;i<lines;i++)
		for(j=0;j<columns;j++)
			f>>a[i][j];
	f.close();
}

int sum()
{
	int i,j,linesSums[16]={0},sum = 0;

	for(i=0;i<lines;i++)
		for(j=0;j<columns;j++)
			linesSums[i]+=a[i][j];

	for(i = 0; i < lines; i++)
		if(linesSums[i] > 0)
			sum+=linesSums[i];
		else
			sum+=(-1)*linesSums[i];

	return sum;
}

int bt(int column)
{
	if(column == (columns))
	{
		int currentSum = sum();
		if(maxSum < currentSum)
			maxSum = currentSum;
	}
	else
	{
		bt(column + 1);
		for(int i = 0; i < lines; i++)
		{
			a[i][column] *= -1;
		}
		bt(column + 1);
	}
	return maxSum;
}

int main()
{
	read();
	g<<bt(0);
	g.close();
	return 0;

}