Cod sursa(job #1828156)

Utilizator Dummy1999CalinGandilaDumitru Dummy1999 Data 12 decembrie 2016 21:02:03
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.12 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
long long tab[10][10];
int N,M;

void citTab() // Citire matrice
{
    fin>>N;
    fin>>M;
    for(int i=0;i<N;i++)
        for(int j=0;j<M;j++)
            fin>>tab[i][j];
}


void cl(int l) // Comuta O linie daca e cazul
{
    long long s1=0,s2=0;
    for(int i=0;i<M;i++)
    {
        s1=s1+tab[l][i];
        s2=s2+tab[l][i]*(-1);
    }
    if(s2>s1)
        for(int i=0;i<M;i++)
            tab[l][i]=(-1)*tab[l][i];
}


void cc (int c) // Comuta o coloana daca e cazul
{
    long long s1=0,s2=0;
    for(int i=0;i<N;i++)
    {
        s1=s1+tab[i][c];
        s2=s2+tab[i][c]*(-1);
    }
    if(s2>s1)
        for(int i=0;i<N;i++)
            tab[i][c]=tab[i][c]*(-1);
}

int sumaTab()   // calculeaza suma elementelor
{
    for(int i=0;i<N;i++)
        cc(i);
    long long s=0;
    for(int i=0;i<N;i++)
    {
        cl(i);
        for(int j=0;j<M;j++)
            s=s+tab[i][j];
    }
    return s;
}
int main()
{
    citTab();
    fout<<sumaTab();
    return 0;
}