Cod sursa(job #217666)

Utilizator lamez0rBogdan Bondor lamez0r Data 29 octombrie 2008 16:08:28
Problema Jocul Flip Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<stdio.h>
int n,m,s[17];
long a[17][17],suma;

void read ()
	{
	FILE *f=fopen("flip.in","r");
	fscanf(f,"%d%d",&n,&m);
	int i,j;
	for (i=1;i<=n;++i)
		for (j=1;j<=m;++j)
			fscanf(f,"%ld",&a[i][j]);
	fclose(f);
	}

void solve ()
	{
	long sum=0,x;
	int i,j;
	for (i=1;i<=m;++i)
		{
		x=0;
		for (j=1;j<=n;++j)
			x+=a[j][i]*s[j];
		if (x<0)
			sum=sum-x;
		else
			sum=sum+x;
		}
	if (sum>suma)
		suma=sum;
	}

void back (int k)
	{
	if (k==n+1)
		solve ();
	else
		{
		int i;
		for (i=-1;i<=1;i+=2)
			{
			s[k]=i;
			back(k+1);
			}
		}
	}

void write ()
	{
	FILE *f=fopen("flip.out","w");
	fprintf(f,"%ld",suma);
	fclose(f);
	}

int main ()
{
read ();
back (1);
write ();
return 0;
}