Cod sursa(job #305808)

Utilizator AplayLazar Laurentiu Aplay Data 18 aprilie 2009 17:15:45
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 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,max=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||max<s2)  
   {  
   ok=false; 
   max=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",max);  
 fclose(g);  
 return 0;           
 }