Cod sursa(job #2575789)

Utilizator nikolas.afremNikolas Afrem nikolas.afrem Data 6 martie 2020 15:27:07
Problema Jocul Flip Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <fstream>

using namespace std;

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

int a[17][17], i, j, n, m;

void citire()
{
    fin >> n >> m;
    for(i=1; i<=n; i++)
        for(j=1; j<=m; j++)
            fin >> a[i][j];
}

void switchlinie(int x)
{
    for(i=1; i<=m; i++)
        a[x][i] *= -1;
}

void switchcoloana(int x)
{
    for(i=1; i<=n; i++)
        a[i][x] *= -1;
}

void verificare_linie()
{
    int s;
    for(i=1; i<=n; i++){
        s = 0;
        for(j=1; j<=m; j++)
            s += a[i][j];
        if(s < 0)
        switchlinie(i);
    }
}

void verificare_coloana()
{
    int s2;
    for(j=1; j<=m; j++){
        s2 = 0;
        for(i=1; i<=n; i++)
            s2 += a[i][j];
        if(s2 < 0)
            switchcoloana(j);
    }
}

int main()
{
    citire();
    for(i=1; i<=n; i++){
        j=i;
        verificare_coloana();
        verificare_linie();
    }
    int ss=0;
    for(i=1; i<=n; i++)
        for(j=1; j<=m; j++)
            ss += a[i][j];
    fout << ss;
    return 0;
}