Cod sursa(job #517221)

Utilizator ioanabIoana Bica ioanab Data 28 decembrie 2010 11:00:50
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
using namespace std;

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


int c[20];
int a[20][20];
int smax,n,m;

void calc()
{
	int i,j,s,sum=0;
	for (i=1;i<=n;i++)
	{
		s=0;
		for (j=1;j<=m;j++)
			s+=a[i][j]*c[j];
		sum+=abs(s);
	}
	if (sum>smax) smax=sum;

}

void backt(int k)
{
	if(k==m+1)
	{
		calc();
		return;
	}
	c[k]=1;
	backt(k+1);
	c[k]=-1;
	backt(k+1);
}

int main()
{
	int i,j,ns,b,v;
	in>>n>>m;
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			in>>a[i][j];
	backt(1);	
	/*
	ns=(1<<m)-1;
	for(v=1;v<=ns;v++)
	{
		for(i=1;i<=m;i++)
			c[i]=1;
		for(b=0;b<n;b++)
			if(v&(1<<b))
				c[b+1]=-1;
		calc();
	}*/
	
	out<<smax;
	return 0;
}