Cod sursa(job #167791)

Utilizator O_NealS. Alex O_Neal Data 30 martie 2008 04:02:56
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.59 kb
#include<fstream.h>
#include<iostream.h>
#include<math.h>

ifstream fin("info.in");
ofstream fout("info.out");

int n,m,i,j,k;
long aux, x, a[16][16],v[16],max,suma;



 void back(long com)
   {
               if(com<=pow(2,n))
                 {
                       for(i=0; i<n; i++)
                           if(v[i])
                              for(j=0; j<m; j++)        a[i][j]*=-1;
                              
                       for(i=0; i<m; i++)
                                  { 
                               suma=0;
                               for(j=0; j<n; j++) suma+=a[j][i]; 
                               if(suma<0) for(j=0; j<n; j++) a[j][i]*=-1;
                                  }
                        suma=0;
                        for(i=0; i<n; i++)
                            for(j=0; j<m; j++)        
                                suma+=a[i][j];
                        if(suma>max) max=suma;

                        int t=1;
                                for(i=0;i<n;i++) 
                                   if(v[i]==0) {v[i]=t; t=0; }
                                       else if(t==1) {v[i]=0; t=1; }
                        back(com+1);
                }
     //fout<<"odata "<<com<<" "<<pow(2,n)<<"\n";
     //if(com<pow(2,n))  back(com+1);
  }                                       
                                                
int main() 
 {
      fin>>n>>m;
      for(i=0; i<n; i++)
         for(j=0; j<m; j++) 
             fin>>a[i][j];
      back(1);       
     fout<<max;
     return 0;
 }