Cod sursa(job #671137)

Utilizator CBogdanCiobanu Bogdan CBogdan Data 30 ianuarie 2012 19:48:43
Problema Jocul Flip Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<cstdio>
using namespace std;

int n,m,i,j,M[20][20];

void read(),solve();

int main()
{
	read();
	solve();
	
	return 0;
}


void read()
{
	freopen("flip.in","r",stdin);
	freopen("flip.out","w",stdout);
	scanf("%d%d",&n,&m);
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			scanf("%d",&M[i][j]);
}

void solve()
{
	int lim=1<<n,total,L,subm,sol=1<<31;
	for(subm=1;subm<=lim;subm++)
	{
		total=0;
		for(i=1;i<=n;i++)
		{
			L=0;
			for(j=1;j<=m;j++)
			{
				if(subm&(1<<(j-1)))
					L+=M[i][j];
				else
					L-=M[i][j];
			}
			if(L<0)
				total-=L;
			else
				total+=L;
		}
		if(total>sol)sol=total;
	}
	printf("%d\n",sol);
}