Pagini recente » Cod sursa (job #352138) | Cod sursa (job #2472274) | Cod sursa (job #552655) | Cod sursa (job #1101945) | Cod sursa (job #2685547)
#include <stdio.h>
#define NMAX 16
using namespace std;
int n, smx, m, mat[NMAX][NMAX], mx;
bool cf[NMAX];
int calcSumMax() {
int i, j, s, tot;
tot = 0;
for( i = 0; i < n; i++ ) {
s = 0;
for( j = 0; j < m; j++ ) {
if( cf[j] )
s += mat[i][j] * -1;
else
s += mat[i][j];
}
if( s < 0 )
s *= -1;
tot += s;
}
return tot;
}
void bkt( int poz ) {
if( poz == n ) {
int x = calcSumMax();
if( x > mx )
mx = x ;
return;
}
poz++;
cf[poz] = true;
bkt( poz );
cf[poz] = false;
bkt( poz );
return;
}
int main() {
FILE *fin, *fout;
fin = fopen( "flip.in", "r" );
fout = fopen( "flip.out", "w" );
int i, j;
fscanf( fin, "%d%d", &n, &m );
for( i = 0; i < n; i++ ) {
for( j = 0; j < m; j++ ) {
fscanf( fin, "%d", &mat[i][j] );
}
}
bkt( -1 );
fprintf( fout, "%d", mx );
return 0;
}