Cod sursa(job #155286)

Utilizator mordredSimionescu Andrei mordred Data 11 martie 2008 20:44:05
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.12 kb
   #include<fstream.h>  
     
   int stv[32],m,n,v[16][16],w[16][16],max=-1;  
     
   ifstream fin("flip.in");  
   ofstream fout("flip.out");  
     
   void tipar()  
   {  
       int i,j,sum=0;  
       for(i=0;i<n;i++)  
           if(stv[i])for(j=0;j<m;j++)  
                         w[i][j]=-v[i][j];  
           else for(j=0;j<m;j++)  
                         w[i][j]=v[i][j];  
       for(i=0;i<m;i++)  
           if(stv[i+n]) for(j=0;j<n;j++)  
                       w[j][i]=-w[j][i];  
       for(i=0;i<n;i++)  
           for(j=0;j<m;j++)  
               sum=sum+w[i][j];  
       if(sum>max) max=sum;  
   }  
     
   void back(int k)  
   {  
       int i;  
       if(k==m+n) tipar();  
       else  
       {  
           for(i=0;i<2;i++)  
           {  
               stv[k]=i;  
               back(k+1);  
           }  
       }  
   }  
     
   int main()  
   {  
       int i,j;  
       fin>>n;  
       fin>>m;  
       for(i=0;i<n;i++)  
           for(j=0;j<m;j++)  
               fin>>v[i][j];  
       back(0);  
       fout<<max;  
       return 0;  
   }