Cod sursa(job #525532)

Utilizator PavelPavel Ana-Oriana Pavel Data 25 ianuarie 2011 14:27:38
Problema Jocul Flip Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream>
using namespace std;

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

int v[17][17],n,m,mmax=-1;
bool sol[100];

void prelucrare()
{
	int sum=0,i,j,st=0;
	for(i=1;i<=n;i++)
	{
		sum=0;
		for(j=1;j<=m;j++)
			if(sol[j]==true)
				sum+=v[i][j]*-1;
			else
				sum+=v[i][j];
		if(sum<0)
			st+=(sum)*-1;
		else
			st+=sum;
	}
	if(st>mmax)
		mmax=st;
}

void bkt(int p)
{
	if(p==n+1)
	{
		prelucrare();
		return;
	}
	sol[p]=false;
	bkt(p+1);
	sol[p]=true;
	bkt(p+1);
}

int main()
{
	int i,j;
	in>>n>>m;
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			in>>v[i][j];
	bkt(1);
	out<<mmax;
	return 0;
}