Cod sursa(job #639944)

Utilizator bogfodorBogdan Fodor bogfodor Data 24 noiembrie 2011 13:44:09
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <cstdio>
#include <algorithm>

using namespace std;

FILE *fin=freopen("flip.in","r",stdin);
FILE *fout=freopen("flip.out","w",stdout);
int n,m,a[20][20];
int smax=0;
int sc[20];


void citire()
{
    scanf("%d %d",&n,&m);
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            scanf("%d",&a[i][j]);
}

int suma()
{
    int s=0;
    for(int i=0;i<n;i++)
    {
        int slinie=0;
        for(int j=0;j<m;j++)
            if(sc[j]==0)
                slinie+=a[i][j];
            else
                slinie-=a[i][j];
        s+=max(slinie,slinie*-1);
    }
    return s;
}

void backc(int t)
{
    if(t==m){
        smax=max(smax,suma());
        return;
    }
    for(int v=0;v<=1;v++)
    {
        sc[t]=v;
        backc(t+1);
    }
}


int main()
{
    citire();
    backc(0);
    printf("%d\n",smax);
    return 0;
}