Cod sursa(job #282721)

Utilizator Sorin_IonutBYSorynyos Sorin_Ionut Data 18 martie 2009 09:22:40
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <stdio.h>

#define IN "flip.in"
#define OUT "flip.out"
#define max 20

FILE *fin=fopen(IN,"r");
FILE *fout=fopen(OUT,"w");

//using namespace std;

long sol=-2000000000;
int n,m;
int v[max];
int a[max][max];

void back(int k);
void cit();
int alg();

int main()
{
 cit();
  fclose(fin);

 back(1);

 fprintf(fout,"%d\n",sol);
 fclose(fout);

 return 0;
}

void back(int k)
{
 int i;
 int aux;

 if(k==m+1)
 {
  aux=alg();
  if(sol<aux)
   sol=aux;
  return;
 }
 else
  for(i=0;i<=1;i++)
  {
   v[k]=i;
   back(k+1);
   }
}

void cit()
{
 int i,j;

 fscanf(fin,"%d %d",&n,&m);
 for(i=1;i<=n;i++)
  for(j=1;j<=m;j++)
   fscanf(fin,"%d",&a[i][j]);
}

int alg()
{
 long s=0;
 long ss;
 int i,j;

 for(i=1;i<=n;i++)
 {
  ss=0;

  for(j=1;j<=m;j++)
   if(v[j]==0)
    ss+=a[i][j];
   else
    ss+=(-a[i][j]);

  if(ss<0)
   s+=(-ss);
  else
   s+=ss;
 }
 return s;
}