Cod sursa(job #3293601)

Utilizator mateiandMatei Andone mateiand Data 12 aprilie 2025 05:20:23
Problema Jocul Flip Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.14 kb
#include <fstream>
using namespace std;

int a[1001][1001];
ifstream cin("flip.in");
ofstream cout("flip.out");

void flipLine(int n, int m, int i) {
    int linSum = 0;
    for (int j = 0; j < m; j++) {
        linSum += a[i][j];
    }
    if (linSum < 0) {
        for (int j = 0; j < m; j++) {
            a[i][j] = -a[i][j];
        }
    }
}

void flipColumn(int n, int m, int j) {
    int colSum = 0;
    for (int i = 0; i < n; i++) {
        colSum += a[i][j];
    }
    if (colSum < 0) {
        for (int i = 0; i < n; i++) {
            a[i][j] = -a[i][j];
        }
    }
}

int calculateSum(int n, int m) {
    int sumTot = 0;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            sumTot += a[i][j];
        }
    }
    return sumTot;
}

int main() {
    int n, m;
    cin >> n >> m;

    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            cin >> a[i][j];
        }
    }

    for (int i = 0; i < n; i++) {
        flipLine(n, m, i);
    }

    for (int j = 0; j < m; j++) {
        flipColumn(n, m, j);
    }

    int sumTot = calculateSum(n, m);
    cout << sumTot << endl;

    return 0;
}