Cod sursa(job #309004)

Utilizator devianceAnusca Andrei deviance Data 29 aprilie 2009 11:26:25
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda tot Marime 1.08 kb
    #include <stdio.h>  
    #include <values.h>  
    #define DIMMAX 30  
    long int a[DIMMAX][DIMMAX],inm[2*DIMMAX],smax=0,n,m,max=-MAXINT;  
    void calcul()  
    {  
        int i,j,s,smax=0;  
        for(i=1; i<=m; ++i)  
           {   
            s=0;  
                for(j=1; j<=n; ++j)  
                    s+=a[i][j]*inm[j];  
           if(s<0) s*=-1;  
           smax+=s;  
          }               
         if(max<smax) max=smax;  
   }            
            
                           
   void back(int k)  
   {   
     if(k>n) calcul();  
     else  
     {  
         inm[k]=1;back(k+1);  
         inm[k]=-1;back(k+1);  
     }  
   }  
   void read()  
   {int i,j;  
        freopen("flip.in","r",stdin);  
        scanf("%ld %ld",&n,&m);  
        for(i=1; i<=n; ++i)  
        for(j=1; j<=m; ++j)  
                 scanf("%ld",& a[i][j]);         
   }  
   int main()  
   {  
       read();  
       back(1);  
       freopen("flip.out","w",stdout);  
       printf("%ld",max);  
       return 0;  
   }