Cod sursa(job #187791)

Utilizator moldo_razvanMoldovan Razvan moldo_razvan Data 5 mai 2008 14:16:08
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<stdio.h>
int sol[101],n,m,max;
int a[17][17];
void calcul ()
{
     int s=0,k,j,sc;
     for (j=1; j<=m; ++j)
     {
         sc=0;
         for (k=1; k<=n; ++k)
             sc+=sol[k]*a[k][j];
         if (sc<0)
               s+=-sc;
         else  
               s+=sc;
     }
     if (s>max)
        max=s;       
}
void back (int k)
{
    int i;
    if (k==n+1)
       calcul ();        
    else
        for (i=-1; i<=1; i+=2)
        {
            sol[k]=i;
            back (k+1);
        }
}
int main()
{
    freopen("flip.in","r",stdin);
    freopen("flip.out","w",stdout);
    int i,j;
    scanf("%d%d",&n,&m);
    for (i=1; i<=n; ++i)
        for (j=1; j<=m; ++j)
        {
            scanf ("%d",&a[i][j]);
            max+=a[i][j];
        }
    back (1);
    printf ("%d",max);
    return 0;
}