Cod sursa(job #560521)

Utilizator krysstynelBojor Fineas Cristian krysstynel Data 18 martie 2011 15:49:58
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream>
using namespace std;

ifstream fi("flip.in");
ofstream fo("flip.out");

int n,m,maxim=-2000000000,a[18][18],sol[40];

void calc()
{
	int s=0;
	
	for(int l=1; l<=n; l++)
		for(int c=1; c<=m; c++)
		{
			int el=a[l][c];
			
			if(sol[l])
				el*=-1;
			
			if(sol[c+n])
				el*=-1;
			
			s+=el;
		}
		
	maxim=max(s,maxim);
}

void back(int pas)
{
	if(pas>n+m)
	{	
		calc();
		return;
	}
	
	sol[pas]=0;
	
	back(pas+1);
	
	sol[pas]=1;
	
	back(pas+1);
}

void citeste()
{
	fi>>n>>m;
	
	for(int i=1; i<=n; i++)
		for(int j=1; j<=m; j++)
		{
			fi>>a[i][j];
		}
}

int main()
{
	citeste();
	
	back(1);
	
	fo<<maxim;
	
	fi.close();
	fo.close();
	
	return 0;
}