Pagini recente » Cod sursa (job #682525) | Cod sursa (job #910036) | Cod sursa (job #190472) | Cod sursa (job #553782) | Cod sursa (job #1814787)
#include <stdio.h>
FlipLine();
FlipCoulumn();
int Sum();
int matrix[16][16];
int row, col;
int main(){
FILE *file1, *file2;
int i, j, posSum, negSum, sum;
file1 = fopen("flip.in", "r");
file2 = fopen("flip.out", "w");
fscanf(file1, "%d", &row);
fscanf(file1, "%d", &col);
for(i=0; i<row; i++)
for(j=0; j<col; j++){
fscanf(file1, "%d", &matrix[i][j]);
}
FlipLine();
FlipColumn();
FlipLine();
FlipColumn();
FlipLine();
FlipColumn();
FlipLine();
FlipColumn();
FlipLine();
FlipColumn();
FlipLine();
FlipColumn();
FlipLine();
FlipColumn();
fprintf(file2, "%d", Sum());
return 0;
}
FlipLine(){
int i, j;
for(j=0; j<col; j++){
int posSum = 0;
int negSum = 0;
for(i=0; i<row; i++){
if(matrix[i][j]>=0)
posSum += matrix[i][j];
else
negSum += matrix[i][j];
}
if(-negSum>posSum){
for(i=0; i<row; i++){
matrix[i][j] *= -1;
}
}
}
}
FlipColumn(){
int i, j;
for(i=0; i<row; i++){
int posSum = 0;
int negSum = 0;
for(j=0; j<col; j++){
if(matrix[i][j]>=0)
posSum += matrix[i][j];
else
negSum += matrix[i][j];
}
if(-negSum>posSum){
for(j=0; j<col; j++){
matrix[i][j] *= -1;
}
}
}
}
int Sum(){
int i, j, sum=0;
for(i=0; i<row; i++)
for(j=0; j<col; j++)
sum += matrix[i][j];
return sum;
}