Cod sursa(job #1231199)

Utilizator afkidStancioiu Nicu Razvan afkid Data 19 septembrie 2014 21:48:02
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <cstdio>
#include <stdlib.h>

using namespace std;
int n,m,v[20][20],maximum=-999999;

void backtrack(int k)
{
    int sum=0;
    if(k==m+1)
    {
        for(int i=0;i<n;i++)
        {
            int sum_l=0;
            for(int j=0;j<m;j++)
                sum_l+=v[i][j];
            sum+=abs(sum_l);
        }
        if(sum>maximum)
            maximum=sum;
        return;
    }
    backtrack(k+1);
    for(int i=0;i<n;i++)
        v[i][k]=-v[i][k];
    backtrack(k+1);
}

int main()
{
    freopen("flip.in","r",stdin);
    freopen("flip.out","w",stdout);
    scanf("%d %d",&n,&m);
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            scanf("%d",&v[i][j]);
    backtrack(0);
    printf("%d\n",maximum);
    return 0;
}