Cod sursa(job #282464)

Utilizator xbladeIagar Robert xblade Data 17 martie 2009 18:02:45
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream.h>
#define M 16
#define N 16
#define MAX -2000000
long a[N][M],max=MAX,n,m,st[M];
ofstream out("flip.out");
ifstream in("flip.in");
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 det_max()
{
	int i,j,x,s=0;
	for(i=1;i<=n;i++)
	{
		x=0;
		for(j=1;j<=m;j++)
			x+=st[j]*a[i][j];
		if(x>0)
			s=s+x;
		else
			s=s-x;
	}
	if(s>max)
		max=s;
}
void back(int k)
{
	if(k==m)
		det_max();
	else
	{
		st[k+1]=1;
		back(k+1);
		st[k+1]=-1;
		back(k+1);
	}
}
int main()
{
	init();
	back(0);
	out<<max;
	in.close();
	out.close();
	return 0;
}