Cod sursa(job #1956188)

Utilizator EzrealHorodinca Mihai Ezreal Data 6 aprilie 2017 16:13:03
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.29 kb
#include <fstream>

using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");

int n, m, v[20][20], S;

int main()
{
    f >> n >> m;
    for (int i=1; i<=n; i++)
        for (int j=1; j<=m; j++)
            f >> v[i][j];
    for (int i=1; i<=n; i++)
    {
        S = 0;
        for (int j=1 ;j<=m ;j++)
            S += v[i][j];
        v[i][0] = S;
    }
    for (int j=1 ;j<=m ;j++)
    {
        S = 0;
        for (int i=1 ;i<=n ;i++)
            S += v[i][j];
        v[0][j] = S;
    }

    int ok = 1;
    while (ok == 1)
    {
        ok = 0;
        for (int i=1; i<=n; i++)
            if (v[i][0] < 0)
            {
                v[i][0] = -v[i][0];
                for (int j=1; j<m; j++)
                {
                    v[0][j] -= (2*v[i][j]);
                    v[i][j] = -v[i][j];
                }
                ok = 1;
            }
        for (int j=1; j<=m; j++)
            if (v[0][j] < 0)
            {
                v[0][j] = -v[0][j];
                for (int i=1; i<=n; i++)
                {
                    v[i][0] -= (2*v[i][j]);
                    v[i][j] = -v[i][j];
                }
            }
    }

    S = 0;
    for (int i=1; i<=n; i++)
        S += v[i][0];
    g << S;
    return 0;
}