Cod sursa(job #704832)

Utilizator nrpcCiprian Stirbu nrpc Data 2 martie 2012 20:57:40
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<cstdio>
#include<math.h>
using namespace std;
long M[17][17],v[17];
int main()
{
	freopen("flip.in","r",stdin);
	freopen("flip.out","w",stdout);
	int n,m,i,j,p,x;
	long max,St=0,S;
	scanf("%d %d",&n,&m);
	for(i=1;i<=n;i++)for(j=1;j<=m;j++){scanf("%ld",&M[i][j]);max+=M[i][j];};
	for(i=0;i<pow(2,m);i++)
	{
		x=i;
		for(j=1;j<=m;j++)
		{
			v[j]=x%2;
			x=x/2;
		}
		St=0;
		for(j=1;j<=n;j++)
		{
			S=0;
			for(p=1;p<=m;p++)
			{
				if(v[p]==1)S-=M[j][p];
				else S+=M[j][p];
			}
			if(S<0)St-=S;
			else St+=S;
		}
		if(St>max)max=St;
	}
	printf("%ld",max);
	return 0;
}