Cod sursa(job #275441)

Utilizator AnDrEwBoYA Andrei AnDrEwBoY Data 10 martie 2009 14:24:42
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<iostream>
#define modul(n)((n)>0?(n):(-n))
using namespace std;

int N, M, mat[16][16], coloana[16], maxim=0;

void calculare();
void back(int);

int main()
{
int i, j;
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
cin>>N>>M;
for(i=0;i<N;i++)
                for(j=0;j<M;j++)cin>>mat[i][j];
back(0);
cout<<maxim;
}

void back(int j)
{
if(j==M)calculare();
else 
     {
     coloana[j]=1,back(j+1);
     coloana[j]=-1,back(j+1);
     }
}

void calculare()
{
int s=0, s_col, i, j;
for(i=0;i<N;i++)
           {
           for(j=s_col=0;j<M;j++)s_col+=mat[i][j]*coloana[j];
           s+=modul(s_col);
           }
if(s>maxim)maxim=s;
}