Cod sursa(job #130354)

Utilizator eddieOlariu Eduard Iuliu eddie Data 31 ianuarie 2008 22:01:33
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <stdio.h>             
#include <math.h>             
using namespace std;             
long a[16][16],n,m,sum,smax,st[16];             
void back(int k)             
{             
	int i,j,s,t;             
	if (k==m)             
	{             
		s=0;             
		for (i=0;i<n;i++)             
		{             
			for (t=j=0;j<m;j++)             
				if (st[j])             
					t+=-a[i][j];             
				else             
					t+=a[i][j];             
			s+=t<-t ? -t : t;             
		}             
		if (smax<s)             
		smax=s;             
		return;             
	}             
   st[k]=0;             
   back(k+1);             
   st[k]=1;             
   back(k+1);             
  }             
 int main()             
 {             
   int i,j;  
   freopen("flip.in","r",stdin);
   freopen("flip.out","w",stdout);
   scanf("%ld %ld",&n,&m);
   for (i=0;i<n;i++)             
	   for (j=0;j<m;j++)             
		   scanf("%ld",&a[i][j]);
   back(0);             
   printf("%ld",smax);            
   return 0;
}