Cod sursa(job #993828)

Utilizator teodor98Teodor Sz teodor98 Data 4 septembrie 2013 15:48:33
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <fstream>
#include <iostream>
#include <cmath>
#define N 17
#define M 17
using namespace std;
int a[N][M],n,m;
ifstream in("flip.in");
ofstream out("flip.out");

void flip_linie(int j)
{
    for(int i=1;i<=n;i++)
      a[j][i] *= -1;
}
void flip_coloana(int i)
{
    for(int j=1;j<=m;j++)
      a[j][i] *= -1;
}
int suma_linie(int j)
{
    int s=0;
    for(int i=1;i<=n;i++)
        s+= a[j][i];
    return s;
}
int suma_coloana(int i)
{
    int s=0;
    for(int j=1;j<=m;j++)
      s += a[j][i];
    return s;
}
int main()
{
    int suma=0;
    in >> m >> n;
    for(int i=1;i<=m;i++)
        for(int j=1;j<=n;j++)
            in >> a[i][j];
    for(int i=1;i<=m;i++)
        {
                if(suma_coloana(i) < 0)
                    flip_coloana(i);
        }

    for(int j=1;j<=m;j++)
        {
                if(suma_linie(j) < 0)
                    flip_linie(j);

        }

     for(int i=1;i<=m;i++)
        for(int j=1;j<=n;j++)
            suma+=a[i][j];

    out<<suma;
    return 0;
}