Cod sursa(job #2076592)

Utilizator AndreiG23Ghiurcuta Andrei AndreiG23 Data 26 noiembrie 2017 20:20:15
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.21 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int a[20][20],n,m,i,j;
int flippedSumLin(int a[20][20],int z,int x)
{
    int S=0;
    for(i=1;i<=z;i++)
        S=S+(a[x][i]*(-1));
    return S;
}
int flippedSumCol(int a[20][20],int z,int x)
{
    int S=0;
    for(i=1;i<=z;i++)
        S=S+(a[i][x]*(-1));
    return S;
}
int normalSumLin(int a[20][20],int z,int x)
{
    int S=0;
    for(i=1;i<=z;i++)
        S=S+a[x][i];
    return S;
}
int normalSumCol(int a[20][20],int z,int x)
{
    int S=0;
    for(i=1;i<=z;i++)
        S=S+a[i][x];
    return S;
}
void flipCol(int a[20][20],int z,int x)
{
     for(i=1;i<=z;i++)
        a[i][x]*=-1;
}
void flipLin(int a[20][20],int z,int x)
{
     for(i=1;i<=z;i++)
        a[x][i]*=-1;
}
int main()
{
    int S=0;
    fin>>n>>m;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
        fin>>a[i][j];
    for(i=1;i<=n;i++)
        if(flippedSumCol(a,n,i)>normalSumCol(a,n,i))flipCol(a,n,i);
    for(i=1;i<=m;i++)
        if(flippedSumLin(a,m,i)>normalSumLin(a,m,i))flipLin(a,m,i);
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
        S=S+a[i][j];
    fout<<S;
}