Cod sursa(job #3262910)

Utilizator dvviddManciu David dvvidd Data 12 decembrie 2024 00:33:17
Problema Jocul Flip Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <iostream>
#include <fstream>
#include <vector>

std::ifstream fin("flip.in");
std::ofstream fout("flip.out");

int N, M;

int main() {
    fin >> N >> M;

    std::vector<std::vector<int>> a(N, std::vector<int>(M));
    int suma = 0;

    // Citire și calculare sumă inițială
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < M; j++) {
            fin >> a[i][j];
            suma += a[i][j];
        }
    }

    // Procesare linii
    for (int i = 0; i < N; i++) {
        int sumaLinie = 0;
        for (int j = 0; j < M; j++)
            sumaLinie += a[i][j];
        if (sumaLinie < 0) {
            for (int j = 0; j < M; j++) {
                a[i][j] *= -1;
                suma += 2 * a[i][j];
            }
        }
    }

    // Procesare coloane
    for (int j = 0; j < M; j++) {
        int sumaColoana = 0;
        for (int i = 0; i < N; i++)
            sumaColoana += a[i][j];
        if (sumaColoana < 0) {
            for (int i = 0; i < N; i++) {
                a[i][j] *= -1;
                suma += 2 * a[i][j];
            }
        }
    }

    fout << suma;

    fin.close();
    fout.close();

    return 0;
}