Cod sursa(job #6398)

Utilizator robbyRobertino robert robby Data 19 ianuarie 2007 12:11:39
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <stdio.h>
FILE *f,*g;
long a[17][17],l[17],c[17];
long p,o;
int main()
{
  long n,m,i,j,s,k1,k2,smax,semn1,semn2;
  FILE *f=fopen("flip.in","rt");
  FILE *g=fopen("flip.out","wt");
  fscanf(f,"%ld %ld",&n,&m);
  for (i=1;i<=n;i++)
	for (j=1;j<=m;j++)
	  fscanf(f,"%ld",&a[i][j]);
  smax=0;
  do
   {
	 i=n;
	 l[i]++;
	 while (l[i]>1)
	   {
	  l[i-1]++;
	  l[i]=0;
	  i--;
	   }
	 for (j=0;j<=m;j++)
	   c[j]=0;
	 do
	   {
	 j=m;
	 c[j]++;
	 while (c[j]>1)
	   {
		 c[j-1]++;
		 c[j]=0;
		 j--;
	   }
	 s=0;
	 for (k1=1;k1<=n;k1++)
	   {
		 if (l[k1]==1)
		   semn1=-1;
		  else
		   semn1=1;
		 for (k2=1;k2<=m;k2++)
		   {
		 if (c[k2]==1)
		   semn2=-1;
		  else
		   semn2=1;
		 s+=a[k1][k2]*semn1*semn2;
		   }
	   }
	 if (s>smax)
	   smax=s;
	   }
	 while (!c[0]);
   }
  while (!l[0]);
  fprintf(g,"%ld\n",smax);
  fclose(f);
  fclose(g);
  return 0;
}