Cod sursa(job #276476)

Utilizator space.foldingAdrian Soucup space.folding Data 11 martie 2009 10:40:54
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <stdio.h>

int a[16][16], flip[16], n, m, S;

inline int abs(int a)
{
  if(a<0)
    return -a;
  else
    return a;
}

void calculeaza()
{
  int i, j, sumacol, s=0;
  for(i=0; i<n; i++)
  {
    for(j=sumacol=0; j<m; j++)
      sumacol+=flip[j]*a[i][j];
    s+=abs(sumacol);
  }
  if(s>S)
    S=s;
}



void back(int k)
{
  if(k==m)
    calculeaza();
  else
  {
    flip[k]=1; back(k+1);
    flip[k]=-1; back(k+1);
  }
}

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