Cod sursa(job #438765)

Utilizator SpiderManSimoiu Robert SpiderMan Data 11 aprilie 2010 00:11:47
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.23 kb
#include<stdlib.h>
#include<cstdio>

#define oo 0x3f3f3f3f
using namespace std;

int main()
{
    int m,n,i,j,a[101][101],s,s1[101],s2[101],maxx=-oo,maxX=0;
    freopen("flip.in","r",stdin);
    freopen("flip.out","w",stdout);

    scanf("%d%d",&m,&n);

    for (i=1;i<=m;i++)
        for (j=1;j<=n;j++)
            scanf("%d",&a[i][j]);


    for (i=1;i<=m;i++)
    {
        s2[i] = 0;
        for (j=1;j<=n;j++)
            s2[i] = s2[i] - a[i][j];

        //if (s < 0)
            //for (j=1;j<=n;j++)
                //a[i][j] = - a[i][j];
    }
    for (i=1;i<=m;i++) if (maxx < s2[i]) maxx = s2[i], maxX = i;
    for (j=1;j<=n;j++) a[maxX][j] = -a[maxX][j];
    //printf("%d\n",maxX);

    for (i=1;i<=n;i++)
    {
        s1[i] = 0;
        for (j=1;j<=m;j++)
            s1[i] = s1[i] - a[j][i];

        //if (s1[i] < 0)
            //for (j=1;j<=n;j++)
                //a[j][i] = - a[j][i];
    }
    maxx=-oo,maxX=0;
    for (i=1;i<=n;i++) if (maxx < s1[i]) maxx = s1[i], maxX = i;
    for (j=1;j<=m;j++) a[j][maxX] = -a[j][maxX];
     //printf("%d\n",maxX);

    s = 0;
    for (i=1;i<=m;i++)
        for (j=1;j<=n;j++)
            s = s + a[i][j];

    printf("%d",s);

    return 0;
}