Cod sursa(job #694366)

Utilizator nrpcCiprian Stirbu nrpc Data 27 februarie 2012 20:21:08
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,Sc;
	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++)
	{
		if(St>max)max=St;
		x=i;
		for(j=1;j<=m;j++)
		{
			v[j]=x%2;
			x=x/2;
		}
		St=0;
		for(j=1;j<=n;j++)
		{
			Sc=0;
			for(p=1;p<=m;p++)
			{
				if(v[p]==1)Sc+=M[j][p];
				else Sc-=M[j][p];
			}
			if(Sc<0)St-=Sc;
			else St+=Sc;
		}
	}
	printf("%ld",max);
	return 0;
}