Cod sursa(job #1060780)

Utilizator seby5381Marinescu Sebastian seby5381 Data 18 decembrie 2013 18:28:52
Problema Jocul Flip Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.71 kb
#include<cstdio>
int s1,s2,s,a[30][30],i,j,n,m,ss1,ss2,b[30][30];
int main()
{
    freopen("flip.in","r",stdin);
    freopen("flip.out","w",stdout);
    scanf("%d%d",&n,&m);
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
        {
            scanf("%d",&a[i][j]);
            b[i][j]=a[i][j];
        }
    for(i=1;i<=n;i++)
    {
        s1=0;
        s2=0;
        for(j=1;j<=m;j++)
        {
            s1+=a[i][j];
            s2+=-a[i][j];
        }
        if(s2>s1)
        {
            for(j=1;j<=m;j++)
                a[i][j]=-a[i][j];
        }
    }
    for(j=1;j<=m;j++)
    {
        s1=0;
        s2=0;
        for(i=1;i<=n;i++)
        {
            s1+=a[i][j];
            s2+=-a[i][j];
        }
        if(s2>s1)
        {
            for(i=1;i<=n;i++)
                a[i][j]=-a[i][j];
        }
    }
    ss1=0;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            ss1+=a[i][j];
    ///////////////////////////////////////////////////////////////////
    for(j=1;j<=m;j++)
    {
        s1=0;
        s2=0;
        for(i=1;i<=n;i++)
        {
            s1+=b[i][j];
            s2+=-b[i][j];
        }
        if(s2>s1)
        {
            for(i=1;i<=n;i++)
                b[i][j]=-b[i][j];
        }
    }
    for(i=1;i<=n;i++)
    {
        s1=0;
        s2=0;
        for(j=1;j<=m;j++)
        {
            s1+=b[i][j];
            s2+=-b[i][j];
        }
        if(s2>s1)
        {
            for(j=1;j<=m;j++)
                b[i][j]=-b[i][j];
        }
    }
    ss2=0;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            ss2+=b[i][j];
    if(ss1>ss2) printf("%d",ss1);
    else printf("%d",ss2);
    return 0;
}