Cod sursa(job #257825)

Utilizator zbarniZajzon Barna zbarni Data 14 februarie 2009 00:28:03
Problema Jocul Flip Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define nx 17
int a[nx][nx];
int n,m;
int max;

void fordit(int i,int x)
 {
  for (int j=1;j<=m;++j)
     a[n+1][j]+=2*x*a[i][j];
 }

void back(int k)
 {
  if (k==n)
   {
    int sum=0;
    for (int j=1;j<=m;++j)
      sum+=abs(a[n+1][j]);
    if (sum>max) max=sum;
   }
  else
   {
    back(k+1);
    fordit(k,-1);
    back(k+1);
    fordit(k,1);
   }
 }

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