Cod sursa(job #2413125)

Utilizator EckchartZgarcea Robert-Andrei Eckchart Data 22 aprilie 2019 22:09:38
Problema Jocul Flip Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.52 kb
#include <fstream>
/* 1 <= N, M <= 16 (thus we'll declare a matrix with 16 rows and 16 columns,
 * since those are the maximum values the variables N and M can take;
 * -pow(10, 6) <= 'any number on the table' <= pow(10, 6).
 */
long long table[16][16], N, M, s = 0;

int main()
{
    std::ifstream fisierIN("flip.in");
    fisierIN >> N >> M;

    // Reading the values + ROWS.
    for (unsigned short i = 0; i < N; ++i)
    {
        for (unsigned short j = 0; j < M; ++j)
        {
            fisierIN >> table[i][j];
            s += table[i][j];
        }
        if (s < 0)
        {
            for (unsigned short j = 0; j < M; ++j)
                table[i][j] = -table[i][j];
        }
        s = 0;
    }
    fisierIN.close();

    // COLUMNS.
    for (unsigned short j = 0; j < M; ++j)
    {
        for (unsigned short i = 0; i < N; ++i)
            s += table[i][j];
        if (s < 0)
        {
            for (unsigned short i = 0; i < N; ++i)
                table[i][j] = -table[i][j];
        }
        s = 0;
    }
    
    // Adding up all the elements.
    for (unsigned short i = 0; i < N; ++i)
    {
        for (unsigned short j = 0; j < M; ++j)
            s += table[i][j];
    }
    std::ofstream fisierOUT("flip.out");
    fisierOUT << s/* << "\n"*/;
    /*for (unsigned short i = 0; i < N; ++i)
    {
        for (unsigned short j = 0; j < M; ++j)
            fisierOUT << table[i][j] << " ";
        fisierOUT << "\n";
    }*/
    fisierOUT.close();
    return 0;
}