Cod sursa(job #35915)

Utilizator n_lichkingSentes Norbert n_lichking Data 22 martie 2007 18:09:28
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb

#include<stdio.h>
int n,m,st[40];
long a[17][17],s;
FILE *f=fopen("flip.in","r");
FILE *g=fopen("flip.out","w");

void cit()
{
 fscanf(f,"%d%d",&n,&m);
  for(register int i=1;i<=n;i++)
	for(register int j=1;j<=m;j++)
	fscanf(f,"%ld",&a[i][j]);
	
}

void sol()
{
  long suma=0;
 long t[18][18];
  for(register int i=1;i<=n;i++)
 	for(register int j=1;j<=m;j++)
         t[i][j]=a[i][j];  


  for(i=1;i<=n;i++)
	{if(st[i]==2)
	for(register int j=1;j<=m;j++)
		t[i][j]*=-1;
	}

  for(register int j=n+1;j<=m+n;j++)
	if(st[j]==2)
	 for(register int i=1;i<=n;i++)
		t[i][j-n]*=-1;



 for(i=1;i<=n;i++)
 for(register int j=1;j<=m;j++)
 suma+=t[i][j];

 if(s<suma)
  s=suma;

}

void back(int k)
{
  if(k>n+m)
   sol();
else for(register int i=1;i<=2;i++)
  {st[k]=i;
   back(k+1);}
}

int main()
{
 cit();
 s=0;
 back(1);
 fprintf(g,"%ld",s);
 fcloseall();
 return 0;
}