Cod sursa(job #1107427)

Utilizator Valy333Hojbota Valy Valy333 Data 13 februarie 2014 21:25:26
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.25 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int main()
{
    int n,m,a[100],i,nr,max,min,c,sp,x=0,sn,s=0;
    in>>n>>m;
    for (i=1;i<=n*m;i++)
        in>>a[i];
    if (n<m)
    {
        min=n;
        max=m;
    }
    else
    {
        min=m;
        max=n;
    }
    for (int f=1;f<=max;f++)
    {
    c=min;
   for (i=1;i<=min;i++)
    {
        sn=0;
        sp=0;
        c--;
        for (nr=1;nr<=max;nr++)
        {
            if (a[nr*min-c]>0)
                sp=sp+a[nr*min-c];
            else
                sn=sn-a[nr*min-c];
        }
            if (sn>sp)
            {
                for (nr=1;nr<=max;nr++ )
                    a[nr*min-c]=-a[nr*min-c];
            }
    }
    x=0;
    for (i=1;i<=max;i++)
    {
        nr=0;
        sn=0;
        sp=0;
        while (nr<min)
        {
            if (a[x]>0)
                sp=sp+a[x];
            else
                sn=sn-a[x];
            nr++;
            x++;
        }
            if (sn>sp)
            {
                for (int j=x-min;j<=x;j++)
                    a[j]=-a[j];
            }
    }
    }
    for (i=1;i<=n*m;i++)
       s=s+a[i];
    out<<s;
}