Cod sursa(job #265369)

Utilizator n3msizN3msiz n3msiz Data 23 februarie 2009 20:15:58
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
    #include <stdio.h>
      
    int n,m,i,j,k,pd,b,si,sumC,sumMax;  
    int a[16][16];  
    int X[16][16];  
      
 int main(){  
      FILE *f = fopen("flip.in","r");  
      fscanf(f,"%d%d",&n,&m);  
     for (i=0;i<n;i++)  
       for (j=0;j<m;j++) {  
         fscanf(f,"%d",&a[i][j]);  
       }  
     fclose(f);  
     
     pd = (1<<m)-1;  
     
     for (k=0;k<=pd;k++) {  
         
       for (b=0;b<m;b++) {  
         if ((k>>b)&1) {  
       for (i=0;i<n;i++)  
         X[i][b] = -a[i][b];  
         } else {  
       for (i=0;i<n;i++)  
         X[i][b] = a[i][b];  
         }  
      }  
     
       sumC = 0;  
       for (i=0;i<n;i++) {  
        si = 0;  
         for (j=0;j<m;j++)  
       si+=X[i][j];  
         if (si>0) sumC += si;  
        else sumC -= si;  
       }  
     
      if (sumC>sumMax)  
         sumMax = sumC;  
    
     }  
     
     FILE *g = fopen("flip.out","w");  
     fprintf(g,"%d",sumMax);  
     fclose(g);  
     
     return 0;  
   }