Cod sursa(job #1814775)

Utilizator 1475369147896537415369Andrei Udriste 1475369147896537415369 Data 24 noiembrie 2016 15:39:20
Problema Jocul Flip Scor 30
Compilator c Status done
Runda Arhiva de probleme Marime 2.98 kb
#include <stdio.h>

int main(){

FILE *file1, *file2;
int row, col, i, j, posSum, negSum, matrix[16][16], sum=0;

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]);
    }

for(i=0; i<row; i++){

    posSum = 0;
    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;
        }
    }
}
for(j=0; j<col; j++){

    posSum = 0;
    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;
        }
    }
}
for(i=0; i<row; i++){

    posSum = 0;
    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;
        }
    }
}
for(j=0; j<col; j++){

    posSum = 0;
    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;
        }
    }
}
for(i=0; i<row; i++){

    posSum = 0;
    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;
        }
    }
}
for(j=0; j<col; j++){

    posSum = 0;
    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;
        }
    }
}
for(i=0; i<row; i++){

    posSum = 0;
    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;
        }
    }
}
for(j=0; j<col; j++){

    posSum = 0;
    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;
        }
    }
}
for(i=0; i<row; i++)
    for(j=0; j<col; j++)
        sum += matrix[i][j];

fprintf(file2, "%d", sum);

return 0;
}