Cod sursa(job #1066484)

Utilizator DenisacheDenis Ehorovici Denisache Data 24 decembrie 2013 21:48:42
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <stdio.h>
using namespace std;
FILE*f=fopen("flip.in","r");
FILE*g=fopen("flip.out","w");
long i,j,nrsub=1,sum,s,smax=0,a[20][20],x[20];
int k,l,n,m,y[20];
int main()
{
    fscanf(f,"%d%d",&n,&m);
    for (i=1;i<=n;i++)
    {
        for (j=1;j<=m;j++)
        {
            fscanf(f,"%ld",&a[i][j]);
        }
    }
    nrsub=1<<n;
    for (i=1;i<nrsub;i++)
    {
        for (j=1;j<=n;j++)
        {
            y[j]=i>>(j-1)& 1;
        }
        for (k=1; k<=m; k++)
        {
            sum=0;
            for (l=1; l<=n; l++)
                if (y[l]==1) sum-=a[l][k];
                else sum+=a[l][k];
            if (sum<0) x[k]=-sum;
            else x[k]=sum;
       }
       s=0;
       for (k=1; k<=m; k++)
           s=s+x[k];
       if (s>smax) smax=s;
    }
    fprintf(g,"%ld",smax);
    return 0;
}