Cod sursa(job #2917532)

Utilizator coso2312Cosmin Bucur coso2312 Data 5 august 2022 16:16:21
Problema Jocul Flip Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.78 kb
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;

int main() {
    const int MAX_SIZE = 16;
    int matrix[MAX_SIZE + 1][MAX_SIZE + 1], linesNr, columnsNr;
    ifstream fin("flip.in");
    ofstream fout("flip.out");
    fin >> linesNr >> columnsNr;
    for (int lineIndex = 1; lineIndex <= linesNr; ++lineIndex) {
        for (int columnIndex = 1; columnIndex <= columnsNr; ++columnIndex) {
            fin >> matrix[lineIndex][columnIndex];
        }
    }
    int columns_sum = 1000000, columnPozition;
    for (int columnIndex = 1; columnIndex <= columnsNr; ++columnIndex) {
        int sum = 0;
        for (int lineIndex = 1; lineIndex <= linesNr; ++lineIndex) {
            sum += matrix[lineIndex][columnIndex];
        }
        if (sum < columns_sum) {
            columns_sum = sum;
            columnPozition = columnIndex;
        }
    }
    for (int lineIndex = 0; lineIndex <= linesNr; ++lineIndex) {
        matrix[lineIndex][columnPozition] *= -1;
    }
    int lines_sum = 1000000, linePozition;
    for (int lineIndex = 1; lineIndex <= linesNr; ++lineIndex) {
        int sum = 0;
        for (int columnIndex = 1; columnIndex <= columnsNr; ++columnIndex) {
            sum += matrix[lineIndex][columnIndex];
        }
        if (sum < lines_sum) {
            lines_sum = sum;
            linePozition = lineIndex;
        }
    }
    for (int columnIndex = 1; columnIndex <= columnsNr; ++columnIndex) {
        matrix[linePozition][columnIndex] *= -1;
    }
    int sum = 0;
    for (int lineIndex = 1; lineIndex <= linesNr; ++lineIndex) {
        for (int columnIndex = 1; columnIndex <= columnsNr; ++columnIndex) {
            sum += matrix[lineIndex][columnIndex];
        }
    }
    fout << sum;
    return 0;
}