Cod sursa(job #1920795)

Utilizator maria_sinteaMaria Sintea maria_sintea Data 10 martie 2017 10:08:05
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <cstdio>
#define N 20
#define max(a, b) a>b? a:b
#define inf -1000000

using namespace std;

int n, m, a[N][N], b[N], smax=inf;

void suma()
{
    int sc=0, st=0;
    for(int i=0;i<n;i++)
    {
        sc=0;
        for(int j=0;j<m;j++)
            if(b[j])
                sc+=a[i][j];
            else
                sc-=a[i][j];
        if(sc<0)
            st-=sc;
        else
            st+=sc;
    }
    smax=max(smax, st);
}

void parcurg()
{
    while(b[0]==0)
    {
        int i=m-1;
        while(b[i]==1 && i>=0)
            b[i--]=0;
        b[i]=1;
        suma();
    }
}

int main()
{
    freopen("flip.in", "r", stdin);
    freopen("flip.out", "w", stdout);

    scanf("%d %d\n", &n, &m);
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            scanf("%d ", &a[i][j]);
    parcurg();
    printf("%d", smax);
    return 0;
}