Cod sursa(job #179847)

Utilizator PavelRazvanPavel Razvan PavelRazvan Data 16 aprilie 2008 13:29:51
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include<stdio.h>
#define DIM 1001
int n,sol[DIM],m,a[DIM][DIM],max,s,j,i;
void calcul ()
{
     int s=0,j,i;
     for(j=1;j<=m;++j)
     {
                      int sc=0;
                      for(i=1;i<=n;++i)
                      sc+=sol[i]*a[i][j];
                      if(sc<0)
                      s+=(-sc);
                      else
                      s+=sc;
     }
     if(s>max)
     max=s;
}
void back (int k)
{
     int val;
     if(k==n+1)
     calcul ();
     else
     for(val=-1;val<=1;val+=2)
     {
                              sol[k]=val;
                              back (k+1);
     }
}
int main ()
{
    freopen ("flip.in","r",stdin);
    freopen ("flip.out","w",stdout);
    scanf("%d%d",&n,&m);
    for(i=1;i<=n;++i)
    for(j=1;j<=m;++j)
    {
                     scanf("%d",&a[i][j]);
                     s+=a[i][j];
    }
    max=s;
    back (1);
    printf("%d",max);
return 0;
}