Cod sursa(job #1780033)

Utilizator nnnmmmcioltan alex nnnmmm Data 15 octombrie 2016 20:03:00
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<cstdio>
#include<algorithm>

const int NMAX=16;

int v[NMAX+1][NMAX+1];
bool folosit[NMAX+1];

int n,m,maxim;

void Back(int k)
{
 if(k==m+1)
    {
     int suma=0;
     for(int i=1;i<=n;i++)
         {
          int s=0;
          for(int j=1;j<=m;j++)
              s+=(folosit[j]?-1:1)*v[i][j];
          s=s<0?-s:s;
          suma+=s;
         }
     if(suma>maxim)
        {
         maxim=suma;
        }
    }
 else
    {
     folosit[k]=true;
     Back(k+1);
     folosit[k]=false;
     Back(k+1);
    }
}
int main()
{
 FILE *in=fopen("flip.in","r");
 fscanf(in,"%d %d ",&n,&m);
 for(int i=1;i<=n;i++)
     for(int j=1;j<=m;j++)
         {
          fscanf(in,"%d ",&v[i][j]);
         }
 fclose(in);

 FILE *out=fopen("flip.out","w");
 Back(1);
 fprintf(out,"%d ",maxim);
 fclose(out);
 return 0;
}