Cod sursa(job #2244065)

Utilizator rolterBora Vlad rolter Data 22 septembrie 2018 00:08:10
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.4 kb
#include <fstream>
#include <iostream>

using namespace std;

int main()
{
    int lini[16], coloane[16];
    int n, m, a[16][16], j, i, dif = 1, suma = 0;
    fstream f("flip.in", ios::in), g("flip.out", ios::out);
    f >> n >> m;
    for (i = 0; i < n; i++)
        for (j = 0; j < m; j++)
        f >> a[i][j];
    for (i = 0; i < 16; i ++)
    {
        lini[i] = 0; coloane[i] = 0;
    }
    for (i = 0; i < n; i++)
        for (j = 0 ; j < m; j++)
        lini[i] += a[i][j];
    for (i = 0; i < m ;i++)
        for (j = 0; j < n; j++)
        coloane[i] += a[j][i];
    while (dif == 1)
    {
        dif = 0;
        for (i = 0; i < n; i++)
            if (lini[i] < 0)
            {
                dif = 1;
                lini[i] = lini[i] * -1;
                for (j = 0; j < m; j++)
                    a[i][j] *= -1;
                for(j = 0; j < m; j++)
                    coloane[j] += a[i][j];
            }
        for (j = 0; j < m; j++)
            if(coloane[j] < 0)
            {
                dif = 1;
                coloane[j] = coloane[j] * -1;
                for (i = 0; i < n; i++)
                    a[i][j] *= -1;
                for (i = 0; i < n; i++)
                    lini[i] += a[i][j];
            }
    }
        for (i = 0; i < n; i++)
            for (j = 0; j < m; j++)
                suma += a[i][j];
    g << suma;
    return 0;
}