Cod sursa(job #1456452)

Utilizator yaquzoSimion Andrei yaquzo Data 30 iunie 2015 21:27:53
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 kb

#include<fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int main()
{
    int flip[16][16],m,n,i,j,c[16]={0},x=0,l[16]={0},sum=0;
      f>>n>>m;
     for(i=1;i<=n;i++)
     for(j=1;j<=m;j++)
       f>>flip[i][j];
   //pun intr-un vector nr numerelor negative de pe coloane
    for(j=1;j<=m;j++)
    {
        for(i=1;i<=n;i++)
        if(flip[i][j]<0)
        x=x+1;
        c[j]=x;
        x=0;

    }
    //compar elem vectorului si inmultesc cu 1 coloana cu cele mai multe nr negative
    for(j=1;j<=m;j++)
         {for(i=1;i<=n;i++)
          if(c[j]<c[j+1])
         flip[i][j+1]=flip[i][j+1]*(-1);}
   //pun intr-un vector suma elemantelor pe linie
   for(i=1;i<=n;i++)
     { for(j=1;j<=m;j++)
         x=x+flip[i][j];
         l[i]=x;
         x=0;
     }
     //daca suma este mai mica ca zero inmultesc linia cu -1
   for(i=1;i<=n;i++)
   {for(j=1;j<=m;j++)
     if(l[i]<0)
    flip[i][j]=flip[i][j]*(-1);
   }
   //fac suma tablei
   for(i=1;i<=n;i++)
   for(j=1;j<=m;j++)
   sum+=flip[i][j];

  g<<sum;
  f.close();
  g.close();
  return 0;
}