Cod sursa(job #305607)

Utilizator mihaionlyMihai Jiplea mihaionly Data 17 aprilie 2009 21:29:43
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <stdio.h>
FILE *f=fopen("flip.in","r");
FILE *g=fopen("flip.out","w");
long a[20][20],s1,s2,ln[20],l,c,i,j,mx=0;
bool ok=true;
void back(int k)
 {
 if(k>l)
  {
  s2=0;
  for(i=1;i<=c;i++)
   {
   s1=0;
   for(j=1;j<=l;j++)
    s1+=ln[j]*a[j][i];                
   if(s1<0)
    s1*=(-1);
   s2+=s1;
   }
  if(ok||mx<s2)
   {
   ok=false;
   mx=s2;            
   }
  }
 else
  {
  ln[k]=1;
  back(k+1);
  ln[k]=-1;
  back(k+1);      
  }    
 }
int main()
 {
 fscanf(f,"%ld %ld",&l,&c);
 for(i=1,j=1;i<=l;(j==c)?(j=1,i++):(j++))
  fscanf(f,"%ld",&a[i][j]);
 fclose(f);
 back(1);
 fprintf(g,"%ld",mx);
 fclose(g);
 return 0;         
 }