Cod sursa(job #969519)

Utilizator horiainfoTurcuman Horia horiainfo Data 4 iulie 2013 15:32:01
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <fstream>

using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
struct pot{
    long poz,neg;
};
long n,m,a,p,i,j,s,nr,aux;
pot c[17],y[17];
int main()
{
    fin>>nr>>m;
    for(i=1;i<=nr;i++)
    {
        p=0,n=0;
        for(j=1;j<=m;j++)
        {
            fin>>a;
            if(a>0)
                p=p+a,y[j].poz=a;
            else
                n=n-a,y[j].neg=-a;
        }
        if(p>=n)
            for(j=1;j<=m;j++)
                c[j].poz=c[j].poz+y[j].poz, c[j].neg=c[j].neg+y[j].neg , y[j].poz=0,y[j].neg=0;
        else
            for(j=1;j<=m;j++)
                c[j].poz=c[j].poz+y[j].neg, c[j].neg=c[j].neg+y[j].poz , y[j].poz=0,y[j].neg=0;
    }
    for(i=1;i<=m;i++)
    {
        if(c[i].poz<c[i].neg)
            aux=c[i].poz,c[i].poz=c[i].neg,c[i].neg=aux;
        s=s+c[i].poz-c[i].neg;
    }
    fout<<s;
    return 0;
}