Cod sursa(job #2792727)

Utilizator christalknightChristian Micea christalknight Data 2 noiembrie 2021 11:10:47
Problema Jocul Flip Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 2.17 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int main()
{
    unsigned int N, M, i, j;
    fin>>N>>M;
    int tabla[N][M], suma = 0, suma1, copietabla[N][M];
    for(i = 0; i < N; i++)
        for(j = 0; j < M; j++){
            fin>>tabla[i][j];
            copietabla[i][j] = tabla[i][j];
            }
    for(i = 0; i < N; i++){
        suma = 0;
        for(j = 0; j < M; j++){
            suma += tabla[i][j];
            }
        if(suma < 0){
            /*suma *= -1;
            for(j = 0; j < M; j++){
                if(-tabla[i][j] < 0)
                    suma -= tabla[i][j];
                }
            if(suma > 0){*/
            for(j = 0; j < M; j++)
                tabla[i][j] *= -1;
            cout<<"am inversat linia "<<i+1<<endl;
               // }
            }
        }
    for(j = 0; j < M; j++){
        suma = 0;
        for(i = 0; i < N; i++){
            suma += tabla[i][j];
            }
        if(suma < 0){
            /*suma *= -1;
            for(i = 0; i < N; i++){
                if(-tabla[i][j] < 0)
                    suma -= tabla[i][j];
                }
            if(suma > 0){*/
            for(i = 0; i < N; i++)
                tabla[i][j] *= -1;
            cout<<"am inversat coloana "<<j+1<<endl;
               // }
            }
        }
    for(i = 0, suma = 0; i < N; i++)
        for(j = 0; j < M; j++)
            suma += copietabla[i][j];
    suma1 = suma;
    for(j = 0; j < M; j++){
        suma = 0;
        for(i = 0; i < N; i++){
            suma += copietabla[i][j];
            }
        if(suma < 0){
            for(i = 0; i < N; i++)
                copietabla[i][j] *= -1;
            }
        }
    for(i = 0; i < N; i++){
        suma = 0;
        for(j = 0; j < M; j++){
            suma += copietabla[i][j];
            }
        if(suma < 0){
            for(j = 0; j < M; j++)
                copietabla[i][j] *= -1;
            }
        }
    for(i = 0, suma = 0; i < N; i++)
        for(j = 0; j < M; j++)
            suma += copietabla[i][j];
    fout<<max(suma, suma1);
}