Cod sursa(job #3311437)

Utilizator corvinus2003Corvin Ghita corvinus2003 Data 22 septembrie 2025 13:20:56
Problema Jocul Flip Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.66 kb
#include <iostream>
#include <fstream>

using namespace std;

void helloWorld() {

    const auto lang = "C++";
    cout << "Hello and welcome to " << lang << "!\n";

    for (int i = 1; i <= 5; i++) {

        cout << "i = " << i << endl;
    }
}

/*
 *FLIP: inmulteste linii, coloane cu -1 asa incat sa ajungi la suma cea mai mare
 *
 *problema: pot strica toate nr de pe prima linie si sa reintorc semnu la primu numar daca inmultesc
 *coloana 1
 *
 *comut toate liniile care dau sub 0
 *apoi toate coloanele care dau sub 0
 *dau output
*/

int n, m;
int a[16][16];

int main() {

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

    fin >> n >> m;

    //probez liniile
    for (int i = 1; i <= n; ++i) {
        int temp_s = 0;
        for (int j = 1; j <= m; ++j) {
            fin >> a[i][j];
            temp_s += a[i][j];
        }
        if (temp_s < 0) {
            //fout << "linia " << i << "\n";
            for (int j = 1; j <= m; ++j) {
                a[i][j] *= -1;
            }
        }
    }

    //probez coloanele
    for (int j = 1; j <= m; ++j) {
        int temp_s = 0;
        for (int i = 1; i <= n; ++i) {
            temp_s += a[i][j];
        }
        if (temp_s < 0) {
            //fout << "coloana " << j << "\n";
            for (int i = 1; i <= n; ++i) {
                a[i][j] *= -1;
            }
        }
    }

    /*
    for (int i = 1; i <= n; ++i) {
        for (int j = 1; j <= m; ++j) {
            fout << a[i][j] << ' ';
        }
        fout << '\n';
    }
    */

    int s = 0;
    for (int i = 1; i <= n; ++i) {
        for (int j = 1; j <= m; ++j) {
            s += a[i][j];
        }
    }
    fout << s << '\n';

    return 0;
}