Cod sursa(job #910436)

Utilizator Codrin09Sirboiu Codrin Codrin09 Data 10 martie 2013 20:13:35
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.62 kb
#include <iostream>
#include <fstream>
using namespace std;
long long n,m,a[17][17],s1,s2,smax,i,j,smax2;
int main()
{
    ifstream fin("flip.in");
    ofstream fout("flip.out");
    fin>>n>>m;
    for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
    fin>>a[i][j];
    smax=0;
    smax2=0;
    for(i=1;i<=n;i++)
    {
        s1=0;
        s2=0;
        for(j=1;j<=m;j++)
        {
            s1=s1+a[i][j];
            s2=s2+(-1)*a[i][j];
        }
        if(s1>s2)smax=smax+s1;
        else
        {
            smax=smax+s2;
            for(j=1;j<=m;j++)
            a[i][j]*=(-1);
        }
    }
    for(j=1;j<=m;j++)
    {
        s1=0;
        s2=0;
        for(i=1;i<=n;i++)
        {
            s1=s1+a[i][j];
            s2=s2+(-1)*a[i][j];
        }
        if(s1<s2)
        {
            for(i=1;i<=n;i++)
            smax=smax-a[i][j]+(-1)*a[i][j];
        }
    }

    for(j=1;j<=m;j++)
    {
        s1=0;
        s2=0;
        for(i=1;i<=n;i++)
        {
            s1=s1+a[i][j];
            s2=s2+(-1)*a[i][j];
        }
        if(s1>s2)smax2=smax2+s1;
        else
        {
            smax2=smax2+s2;
            for(i=1;i<=n;i++)
            a[i][j]*=(-1);
        }
    }
    for(i=1;i<=n;i++)
    {
        s1=0;
        s2=0;
        for(j=1;j<=m;j++)
        {
            s1=s1+a[i][j];
            s2=s2+(-1)*a[i][j];
        }
        if(s1<s2)
        {
            for(i=1;i<=n;i++)
            smax2=smax2-a[i][j]+(-1)*a[i][j];
        }
    }
    if(smax2>smax)smax=smax2;
    fout<<smax;
    fin.close();
    fout.close();
    return 0;
}