Pagini recente » Cod sursa (job #1975351) | Cod sursa (job #3253010) | Cod sursa (job #213448) | Cod sursa (job #386606) | Cod sursa (job #1672322)
# include <stdio.h>
# include <stdlib.h>
# define MAXN 16
int mat[MAXN][MAXN];
inline long long maxSum( int mat[MAXN][MAXN], int n, int m, int lin ) {
int i, j;
long long s, c;
s = 0;
for ( j = 0; j < m; j ++ ) {
c = 0;
for ( i = 0; i < n; i ++ )
c += mat[i][j] * (1 - 2 * ( ( lin >> i ) & 1 ) );
if ( c >= 0 )
s += c;
else
s -= c;
}
return s;
}
int main() {
FILE *fin = fopen( "flip.in", "r" ), *fout = fopen( "flip.out", "w" );
int n, m, i, j;
long long s, max;
fscanf(fin, "%d%d", &n, &m );
for ( i = 0; i < n; i ++ )
for ( j = 0; j < m; j ++ ) {
fscanf( fin, "%d", &mat[i][j] );
}
max = 0;
for ( i = 0; i < ( 1 << n ); i ++ ) {
s = maxSum( mat, n, m, i );
if ( s > max )
max = s;
}
fprintf( fout, "%lld\n", max );
fclose( fin );
fclose( fout );
return 0;
}