Cod sursa(job #938694)

Utilizator addy01adrian dumitrache addy01 Data 13 aprilie 2013 15:34:11
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <cstdio>
using namespace std;
int a[17][17],n,m,maxim=-(1<<30);
bool v[257];
int abs(int x)
{
    if(x>0)
        return x;
    return 0-x;
}

void solve()
{
    int s=0;
    for(int j=1;j<=m;j++)
    {
        int sum=0;
        for(int i=1;i<=n;i++)
            if(v[i])
                sum+=-a[i][j];
            else
                sum+=a[i][j];
        s+=abs(sum);
    }
    if(maxim<s)
        maxim=s;
}

void back(int k)
{
    for(int i=0;i<=1;i++)
    {
        v[k]=i;
        if(k==n)
            solve();
        else
            back(k+1);
    }
}

int main()
{
    freopen("flip.in","r",stdin);
    freopen("flip.out","w",stdout);
    int i,j;
    cin>>n>>m;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            cin>>a[i][j];
back(1);
cout<<maxim;
    return 0;
}