Cod sursa(job #2424782)

Utilizator SmokeCiocotisan Cosmin Smoke Data 23 mai 2019 20:44:11
Problema Jocul Flip Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.53 kb
#include <iostream>
#include <fstream>

using namespace std;

int n, m;
int v[17][17];

void   inmulteste_1(int nr, int x)
{

    if(x == 1 )
    {
        //nr = linia

        for(int i = 0 ; i < m ; i++)
            v[nr][i]*=(-1);

    }
    else
    {
        //nr = col

        for(int i = 0 ; i < n ; i++)
            v[i][nr]*=(-1);

    }



}

int main()
{
    ifstream in("flip.in");
    ofstream out("flip.out");

    in>>n>>m;

    for(int i = 0 ; i < n ; i++)
        for(int j = 0 ; j < m ; j++)
                in>>v[i][j];

    bool ok = false;
    int sum;

    do
    {
        ok = false;

    for(int i = 0 ; i <n ; i++)
        {    sum = 0;

             for(int j = 0 ; j < m ; j++)
                            sum+=v[i][j];

            if(sum < 0 ) {
                                        inmulteste_1(i,1);//1 ptr linie;
                                        ok = true;
                                  }
        }

        for(int i = 0 ; i < m ; i++)
        {
            sum = 0;

             for(int j = 0 ; j < n ;j++)
                            sum+=v[j][i];

                         if(sum < 0) {
                            inmulteste_1(i,2); // 2 ptr colo
                            ok = true;

                         }

        }

    }while(ok);

    sum = 0 ;
      for(int i = 0 ; i <n ; i++)
        {
             for(int j = 0 ; j < m ; j++)
                    sum+=v[i][j];

        }
        out<<sum;

    return 0;
}