Cod sursa(job #325174)

Utilizator andrici_cezarAndrici Cezar andrici_cezar Data 19 iunie 2009 12:22:54
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<stdio.h>

FILE *f,*g;

long k,x[17],a[17][17],sc,s,i,j,n,m,v,max;

void back()
{
	k=1;
	x[1]=-1;
	while(k>0)
	{
		v=0;
		while(v==0 && x[k]<1)
		{
			x[k]++;
			v=1;
		}
		if (v==0) k--;
		else if (k<n) 
		{
			k++;
			x[k]=-1;
		}
		else 
		{
			s=0;
			for (j=1;j<=m;j++)
			{
				sc=0;
				for (i=1;i<=n;i++)
				{
					if (x[i]==1) sc=sc-a[i][j];
						else sc=sc+a[i][j];
				}
					if (sc<0) sc=-sc;
				s=s+sc;
			}
			if (s>max) max=s;
		}
	}
	fprintf(g,"%ld\n",max);
}

int main()
{
	f=fopen("flip.in","r");
	g=fopen("flip.out","w");
	
		fscanf(f,"%ld %ld",&n,&m);
		
		for (i=1;i<=n;i++)
			for (j=1;j<=m;j++)
				fscanf(f,"%ld",&a[i][j]);
	back();
	fclose(g);
	return 0;
}