Cod sursa(job #490205)

Utilizator angelicheartMicu Ana angelicheart Data 5 octombrie 2010 15:36:25
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
using namespace std;

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

int v[17][17],s[17],n,m,maxim;
bool sol[17];

void check()
{
	int i,j,sum=0;
	for (i=1;i<=n;i++)
		s[i]=0;
	for (i=1;i<=n;i++)
		for (j=1;j<=m;j++)
			if (sol[j])
				s[i]+=v[i][j];
			else
				s[i]-=v[i][j];
	for (i=1;i<=n;i++)
		if (s[i]>0)
			sum+=s[i];
		else
			sum-=s[i];
	if (sum>maxim)
		maxim=sum;
}

void bkt(int p)
{
	if (p==m+1)
	{
		check();
		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<<maxim<<"\n";
	return 0;
}