Cod sursa(job #289679)

Utilizator EstiarteManuel Esanu Estiarte Data 26 martie 2009 21:38:07
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include<stdio.h>
FILE *in=fopen("flip.in","r");
FILE *out=fopen("flip.out","w");
int v[17];
int main ()
{   
  int n,m,i,j,s,smax=0,s1,s2,a[17][17];
  fscanf(in,"%d",&n);
  fscanf(in,"%d",&m);
  for (i=1;i<=n;i++)
   for (j=1;j<=m;j++)
     fscanf(in,"%d",&a[i][j]);

  while (v[0]==0)
  {
    s=0;
    for (i=1;i<=n;i++)
    {
       if (v[i]==0)
	 for (j=1;j<=m;j++)s=s+a[i][j];
       else
         for (j=1;j<=m;j++)s=s-a[i][j];
    }
   for (j=1;j<=m;j++)
   {
      s1=0;
      for (i=1;i<=n;i++)
       if (v[i]==0)s1=s1+a[i][j];
       else s1=s1-a[i][j];

      s2=0;
      for (i=1;i<=n;i++)
          	if (v[i]==0)s2-=a[i][j];
                else s2=s2+a[i][j];

      if (s2>s1)s=s+s2-s1;
   }
   if (s>smax)smax=s;
   v[n]++;
   for (i=n;i>=1;i--)
   {
     if (v[i]>=2)
     {
       v[i]=0;
       v[i-1]++;
     }

   }

 }
 fprintf(out,"%d",smax);

return 0;
}