Cod sursa(job #215163)

Utilizator iulian13Iulian Ionascu iulian13 Data 17 octombrie 2008 18:19:45
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 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;       
}