Pagini recente » Cod sursa (job #966549) | Cod sursa (job #2399569) | Cod sursa (job #413727) | Cod sursa (job #2703020) | Cod sursa (job #413742)
Cod sursa(job #413742)
/*
* flip.c
*
* Created on: Mar 9, 2010
* Author: mihai
*/
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE * fin = fopen( "flip.in" , "r" );
FILE * fout = fopen( "flip.out" , "w" );
int l, c, i, j, neg = 0, poz = 0, sum = 0;
fscanf( fin , "%d %d" , &l , &c );
int A[l][c], linii[l], coloane[c];
for (i = 0; i < l; ++i) {
for (j = 0; j < c; ++j) {
fscanf( fin , "%d" , &A[i][j] );
}
}
for (i = 0; i < l; ++i) {
for (j = 0; j < c; ++j) {
if (A[i][j] <= 0) {
neg += A[i][j];
} else {
poz += A[i][j];
}
}
( poz >= -neg ) ? ( linii[i] = 1 ) : ( linii[i] = -1 );
poz = neg = 0;
}
for (i = 0; i < c; ++i) {
for (j = 0; j < l; ++j) {
( A[j][i] <= 0 ) ? ( neg += A[j][i] ) : ( poz += A[j][i] );
}
( poz >= -neg ) ? ( coloane[i] = 1 ) : ( coloane[i] = -1 );
poz = neg = 0;
}
for (i = 0; i < l; ++i) {
if (linii[i] == -1) {
for (j = 0; j < c; j++) {
A[i][j] *= -1;
}
}
}
for (i = 0; i < c; i++) {
if (coloane[i] == -1) {
for (j = 0; j < l; ++j) {
A[j][i] *= -1;
}
}
}
for (i = 0; i < l; ++i) {
for (j = 0; j < c; j++) {
sum += A[i][j];
}
}
fprintf(fout,"%d",sum);
return 0;
}