Cod sursa(job #640154)

Utilizator absentul_motivatIagar Alexandru absentul_motivat Data 24 noiembrie 2011 20:46:25
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<cstdio>

const int N = 17;

int n , m , a[N][N] , max = -1;

bool sol[N];



void read()

{

freopen ( "flip.in" , "r" , stdin );

freopen ( "flip.out" , "w" , stdout );

scanf("%d%d" , &m , &n );



for(int i=1 ; i<=m ; ++i)

for(int j=1 ; j<=n ; ++j)

scanf("%d" , &a[i][j]);

}



void prelucrare()

{

int sum = 0,s;

for(int j=1 ; j<=n ; ++j)

{

s=0;

for(int i=1 ; i<=m ; ++i)

{

if (sol[i]) s -= a[i][j];

else s += a[i][j];

}

if (s<0) s= -s;

sum += s;

}

if (sum>max) max = sum;

}

void bkt(int p)

{

if(p-1==m)

{

prelucrare();

return;

}

sol[p] = false;

bkt(p+1);

sol[p] = true;

bkt(p+1);

}



int main()

{

read();

bkt(1);

printf("%d\n" , max);

return 0;

}