Cod sursa(job #1268772)

Utilizator pepsiM4A1Ozturk Arif pepsiM4A1 Data 21 noiembrie 2014 14:24:08
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <stdio.h>
int n,m;
int sl[17],max=0,a[17][17];
bool b[18];
void check()
{
     int s=0;
     for(int i=1;i<=n;i++)
     {
             if(b[i]==0) s+=sl[i];
             else s+=((-1)*sl[i]);
     }
     int salt;
     for(int i=1;i<=m;i++)
     {
             salt=0;
             for(int j=1;j<=n;j++)
             {
                     if(b[j]==0) salt+=a[i][j]; 
                     else salt+=((-1)*a[i][j]);
             }
             if(salt<0) salt*=(-1);
             s+=salt;
     }
     if(max<s) max=s;
}
void bcs(int pos)
{
     if(pos==n+1)
     {
                   check();
     }
     else
     {
         for(int i=0;i<2;i++)
         {
                 b[pos]=i;
                 bcs(pos+1);
         }
     }
}
int main()
{
    FILE *fin,*fout;
    fin=fopen("flip.in","r");
    fout=fopen("flip.out","w");
    fscanf(fin,"%d %d",&n,&m);
    for(int i=1;i<=n;i++)
    {
            for(int j=1;j<=m;j++)
            {
                    fscanf(fin,"%d",&a[i][j]);
                    sl[i]+=a[i][j];
            }
    }
    bcs(1);
    fprintf(fout,"%d",max);
}