Cod sursa(job #283412)

Utilizator xbladeIagar Robert xblade Data 19 martie 2009 09:34:42
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream.h>
#define MAX -1000000000
#define N 16
#define M 16
ifstream in("flip.in");
ofstream out("flip.out");
int n,m;
long st[M], a[N][M],max=MAX;
void init()
{
	int i,j;
	in>>n>>m;
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			in>>a[i][j];
}
void detmax()
{
	int s=0,x;
	int i,j;
	for(i=1;i<=n;i++)
	{
		x=0;
		for(j=1;j<=m;j++)
			x=x+st[j]*a[i][j];
		if(x>0)
			s+=x;
		else
			s+=-x;
	}
	if(s>max)
		max=s;
}
void back(int k)
{
	if(k==m)
		detmax();
	else
	{
		st[k+1]=1;
		back(k+1);
		st[k+1]=-1;
		back(k+1);
	}
}
int main()
{
	init();
	back(0);
        out<<max;
	return 0;
}