Cod sursa(job #1350944)

Utilizator SlevySlevoaca Stefan-Gabriel Slevy Data 21 februarie 2015 00:37:47
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");

long a[100][100],n,m;
long s=0;

void citire()
{
    f>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
        f>>a[i][j];
}

void flip()
{
    long s1,s2;
        for(int i=1;i<=n;i++)
    {
        s1=s2=0;
        for(int j=1;j<=m;j++)
        {
            s1+=a[i][j];
            s2-=a[i][j];
        }
        if(s1<s2)
         for(int j=1;j<=m;j++)
        a[i][j]=-a[i][j];
    }
    for(int i=1;i<=m;i++)
    {
        s1=s2=0;
        for(int j=1;j<=n;j++)
        {
            s1+=a[j][i];
            s2-=a[j][i];
        }
        if(s1<s2)
        {
        long s3=0,s4=0;
         for(int j=1;j<=n;j++)
         {
        s3+=a[j][i];
        s4-=a[j][i];
         }
         if(s3<s4)
            for(int j=1;j<=n;j++)
            a[j][i]=-a[j][i];
        }
    }

}

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

int main()
{
    citire();
    flip();
    suma();
    g<<s;
    return 0;
}