Cod sursa(job #279595)

Utilizator Addy.Adrian Draghici Addy. Data 12 martie 2009 21:26:16
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <stdio.h>

int n,m,sumC,sumMax,i,j,k,b,p,si;
int A[16][16],B[16][16];

int main(){


  FILE *f = fopen("flip.in", "r");
  FILE *g = fopen("flip.out", "w");

  fscanf(f,"%d%d",&n,&m);

  for (i=0;i<n;i++)
    for (j=0;j<m;j++)
      fscanf(f,"%d",&A[i][j]);

  p=(1<<m)-1;

  for (k=0;k<=p;k++) {
    for (b=0;b<m;b++) {
      if ((k>>b)&1)
	for (i=0;i<n;i++)
	  B[i][b]=-A[i][b];
      else
	for (i=0;i<n;i++)
	  B[i][b]=A[i][b];
    }
    sumC=0;
    for (i=0;i<n;i++) {
      si=0;
      for (j=0;j<m;j++)
	si+=B[i][j];
      if (si>=0)
	sumC+=si;
      else
	sumC-=si;
    }
    if (sumC>sumMax)
      sumMax=sumC;
  }

  fprintf(g,"%d",sumMax);



  fclose(f);
  fclose(g);

  return 0;
}