Cod sursa(job #1604080)

Utilizator stefzahZaharia Stefan Tudor stefzah Data 17 februarie 2016 22:30:08
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 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 {smin=0;
              for(j=1;j<=m;j++)
                 c[j]=sc[j];
              for(i=1;i<=n;i++)
                 {if(st[i]==1)for(j=1;j<=m;j++)
                                 c[j]=c[j]-2*a[i][j];
                 }
             for(j=1;j<=m;j++)
                {if(c[j]<0)smin=smin-c[j];
                    else smin=smin+c[j];
                }
         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);
}