Cod sursa(job #96040)

Utilizator marinMari n marin Data 31 octombrie 2007 10:18:48
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <stdio.h>
#include <mem.h>

long int a[16][16],b[16][16],s[16],c;

int n,m,i,j;




int main(){
  int i,j;
  FILE *f = fopen("flip.in","r");
  fscanf(f,"%d %d",&n, &m);
  for (i=0;i<n;i++){
    for (j=0;j<m;j++) {
      fscanf(f,"%ld",&a[i][j]);
    }
  }
  fclose(f);

  long int sumMax = 0, sum, sumc;
  for (c=0;c<(1<<n);c++){
    memmove(b,a,sizeof(b));
    for (i=0;i<n;i++)
      if ((c>>i)&1) {
	for (j=0;j<m;j++) b[i][j]=-b[i][j];
      }
    sum = 0;
    for (j=0;j<m;j++){
      sumc = 0;
      for (i=0;i<n;i++)
	sumc = sumc + b[i][j];
      if (sumc > 0) sum+=sumc;
	       else sum+=(-sumc);
    }
    if (sum>sumMax) {
      sumMax = sum;
    }
  }


  FILE *g = fopen("flip.out","w");
  fprintf(g,"%ld",sumMax);
  fclose(g);
  return 0;
}