Cod sursa(job #212611)

Utilizator mariusghermanMarius Gherman mariusgherman Data 5 octombrie 2008 21:53:12
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include<fstream>
using namespace std;
int row[16];
int col[16];
long n,m,a[16][16];
long sum=0,max1;
void back(int k)
 {
    if(k==n) { for(int j=0;j<m;j++)
                  { sum=0;
                     for(int l=0;l<n;l++)
                      { sum+=a[l][j]*row[l];}
                      if (sum<0) col[j]=-1;
                      else col[j]=1;
                  }            
              sum=0;
              for(int j=0;j<n;j++)
               for(int l=0;l<m;l++)
                 sum+=a[j][l]*col[l]*row[j];
              
              if (sum>max1) max1=sum;
               }
    else
        {
          row[k]=1;back(k+1);
          row[k]=-1;back(k+1);    
        } 
     
     
 };


int main()
{

int i,j;
ifstream in("flip.in");
ofstream out("flip.out");
in>>n>>m;
for(i=0;i<n;i++)
 for(j=0;j<m;j++)
    in>>a[i][j];    
    
back(0);
out<<max1;
return 0;    
}