Cod sursa(job #1604057)

Utilizator stefzahZaharia Stefan Tudor stefzah Data 17 februarie 2016 22:08:06
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <cstdio>
using namespace std;
int st[20],top,n,m,sc[20],sl[20],c[20],r,a[20][20],s,smin;
void Back(int top)
    {int i,j;
     if(top<=n)
     for(i=0;i<=1;i++)
        {st[top]=i;
         Back(top+1);
        }
        else {for(i=1;i<=n;i++)
                 {smin=0;
         if(st[i]==0){for(j=1;j<=m;j++)
                      c[j]=sc[j]-2*a[i][j];
                     }
            else for(j=1;j<=m;j++)
                   c[j]=sc[j];
         for(j=1;j<=m;j++)
            {// printf("%d ",c);
             if(c[j]<0)smin=smin-c[j];
              else smin=smin+c[j];
            }
        //    printf("%d\n",smin);
           // printf("\n");
         if(r<smin)r=smin;
        }
             }
    }
int main()
{int i,j;
 freopen("flip.in","r",stdin);
 freopen("flip.out","w",stdout);
 scanf("%d%d",&n,&m);
 for(i=1;i<=n;i++)
    {for(j=1;j<=m;j++)
        {scanf("%d",&a[i][j]);
         sc[j]=a[i][j]+sc[j];
         sl[i]=a[i][j]+sl[i];
         s=s+a[i][j];
        }
    }
    r=s;
    Back(1);
    printf("%d",r);
}