Pagini recente » Cod sursa (job #3183794) | Cod sursa (job #1328177) | Cod sursa (job #2341742) | Cod sursa (job #317986) | Cod sursa (job #1672293)
# include <stdio.h>
# include <stdlib.h>
# define MAXN 16
int mat[MAXN][MAXN];
long long l[MAXN], c[MAXN];
int main() {
FILE *fin = fopen( "flip.in", "r" ), *fout = fopen( "flip.out", "w" );
int n, m, i, j, s;
fscanf(fin, "%d%d", &n, &m );
for ( i = 0; i < n; i ++ )
for ( j = 0; j < m; j ++ ) {
fscanf( fin, "%d", &mat[i][j] );
l[i] += mat[i][j];
c[j] += mat[i][j];
}
do {
i = 0;
while ( i < n && l[i] >= 0 )
i ++;
if ( i < n ) {
l[i] *= -1;
for ( j = 0; j < m; j ++ ) {
c[j] -= 2 * mat[i][j];
mat[i][j] *= -1;
}
}
j = 0;
while ( j < m && c[j] >= 0 )
j ++;
if ( j < m ) {
c[j] *= -1;
for ( i = 0; i < n; i ++ ) {
l[i] -= 2 * mat[i][j];
mat[i][j] *= -1;
}
}
} while ( i < n || j < m );
s = 0;
for ( i = 0; i < n; i ++ )
s += l[i];
fprintf( fout, "%d\n", s );
fclose( fin );
fclose( fout );
return 0;
}