Cod sursa(job #2188664)

Utilizator CarmenRo33Anghel Ionela Carmen CarmenRo33 Data 27 martie 2018 12:31:23
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.31 kb
#include <iostream>
#include <fstream>
#define lim 16
using namespace std;

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

int M,N;
long int Map[lim][lim];
void Citire()
{
   fin>>N>>M;
   for(int i=1;i<=N;i++)
   for(int j=1;j<=M;j++)
    fin>>Map[i][j];
}

void FlipR(int i)
{
    for(int j=1;j<=M;j++)
    Map[i][j]*=-1;
}
void FlipC(int i)
{
    for(int j=1;j<=N;j++)
    Map[j][i]*=-1;
}
int SR(int i)
{    int S=0;
    for(int j=1;j<=M;j++)
    S+=Map[i][j];

    return S;
}

int SC(int i)
{    int S=0;
    for(int j=1;j<=N;j++)
    S+=Map[j][i];

    return S;
}
/*void afisare()
{
    for(int i=1;i<=N;i++)
  {
      for(int j=1;j<=M;j++)
      cout<<Map[i][j]<<" ";
      cout<<endl;
  }

}*/

int main()
{
  int Suma=0;
     Citire();
      for(int i=1;i<=N;i++)
        {
            for(int j=1;j<=M;j++)
         {
           //  cout<<"i= "<<i<<" j= "<<j<<endl;
            //  cout<<"SC= "<<SC(j)<<endl;
           if(SC(j)<0)
           {FlipC(j);// cout<<"Facem Flip la coloana"<<endl; afisare();
           }
         } //cout<<"SR= "<<SR(i)<<endl;
           if(SR(i)<0)
           {FlipR(i); //cout<<"Facem Flip la rand"<<endl; afisare();
           }
         }
   for(int i=1;i<=N;i++)
    Suma+=SR(i);

    fout<<Suma;

    return 0;
}