Cod sursa(job #770022)

Utilizator ionut_blesneagIonut Blesneag ionut_blesneag Data 21 iulie 2012 18:37:29
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include<fstream>
using namespace std;

int n,m, a[20], v[20];
long mat[20][20];
long long maxim,sum,sumcol;
int nr;

ifstream f("flip.in");
ofstream g("flip.out");

void transforma()
{ sum=0;  
  for(int j=1; j<=m; j++)
    {sumcol=0;
     for(int s=1; s<=n; s++)
      {if(v[s]==1)
        sumcol+=mat[s][j]*(-1);
      else
        sumcol+=mat[s][j]; }
     if(sumcol<0)
     sumcol*=(-1);
     sum+=sumcol;     
     }           
 if(maxim<sum)
   maxim=sum;

 }


void bkt (int x)
{      
 for(int i=a[x-1]+1; i<=n; i++)
    if(!v[i])
      {a[x]=i;
       v[i]=1;   
       bkt(x+1);
       v[i]=0;
       a[x]=0;
      }
    /*  nr++;
      g<<nr<<" ";
 for(int s=1; s<=n; s++) 
      g<<v[s]<<" ";
      g<<endl; */   
  transforma();    
}       

int main()
{
f>>n>>m;
for(int i=1; i<=n; i++)
  for(int j=1; j<=m; j++)
    f>>mat[i][j];
bkt(1);    
g<<maxim;    
return 0;}