Cod sursa(job #831694)

Utilizator assa98Andrei Stanciu assa98 Data 8 decembrie 2012 23:14:21
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <stdio.h>

int x[20][20];

int n,m;

int check()
{
    int s=0;
    for(int i=1;i<=n;i++)
    {
        int sum=0;
        for(int j=1;j<=m;j++)
            sum+=x[i][j];
        if(sum<0)
            sum*=(-1);
        s+=sum;
    }
    return s;
}

int max;

int main()
{
    freopen("flip.in","r",stdin);
    freopen("flip.out","w",stdout);
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
        {
            scanf("%d",&x[i][j]);
        }
    for(int i=0;i<(1<<m);i++)
    {
        for(int b=0;b<m;b++)
        {
            if(i&(1<<b))
            {
                for(int l=1;l<=n;l++)
                    x[l][b+1]*=(-1);
            }
        }
        int a=check();
        if(a>max)
            max=a;

        for(int b=0;b<m;b++)
        {
            if(i&(1<<b))
            {
                for(int l=1;l<=n;l++)
                    x[l][b+1]*=(-1);
            }
        }
    }

    printf("%d",max);

    return 0;
}