Mai intai trebuie sa te autentifici.

Cod sursa(job #2040853)

Utilizator DonVladsterVlad Badica DonVladster Data 16 octombrie 2017 17:02:49
Problema Jocul Flip Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.37 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n, m;
int tabla[20][20];

int SumaCol(int col)
{
    int sumaCol = 0;

    for(int i = 1; i <= n; i++)
        sumaCol += tabla[i][col];

    return sumaCol;

}

int SumaLinie(int linie)
{
    int sumaLinie = 0;

    for(int i = 1; i <= m; i++)
        sumaLinie += tabla[linie][i];

    return sumaLinie;

}

int main()
{
    fin >> n >> m;
    for(int i = 1; i <= n; i++)
    {
        for(int j = 1; j <= m; j++)
        {
            fin >> tabla[i][j];
        }
    }

    int imbunatatire = 0, index;


    do
    {
        index = 0;
        imbunatatire = 1;

        for(int i = 1; i <= n; i++)
            if(imbunatatire > SumaLinie(i)) {imbunatatire = SumaLinie(i); index = i*10 + 1;}

        for(int i = 1; i <= m; i++)
            if(imbunatatire > SumaCol(i)) {imbunatatire = SumaCol(i); index = i * 10 + 2;}

        if(index%10 == 1)
            for(int i = 1; i <= m; i++)
                tabla[index/10][i] *= -1;
        else if( index % 10 == 2)
            for(int i = 1; i <= n; i++)
                tabla[i][index/10] *= -1;

    }while(imbunatatire < 0);

    int suma = 0;
    for(int i = 1; i <= n; i++)
    {
        suma += SumaLinie(i);
    }
    fout<<suma;
    return 0;
}