Cod sursa(job #1825339)

Utilizator caprariuapCaprariu Alin-Paul caprariuap Data 8 decembrie 2016 23:42:25
Problema Jocul Flip Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <iostream>
#include <cstring>

using namespace std;

int n,m,i,j,a[20][20],p,smax,use[20];

int main()
{
    freopen("flip.in","r",stdin);
    freopen("flip.out","w",stdout);
    cin >> n >> m;
    for (i=1; i<=n; i++)
        for (j=1; j<=m; j++)
            cin >> a[i][j];
    p=(1<<n)-1;
    for (int z=1; z<=p; z++)
    {
        for (j=1; j<=m; j++)
            use[j]=0;
        int s=0;
        for (j=1; j<=m; j++)
            if ((z>>(j-1))&1!=0)
                use[j]=1;
        for (i=1; i<=n; i++)
        {
            int sum=0;
            for (j=1; j<=m; j++)
                if (use[j]==1)
                    sum-=a[i][j];
                else
                    sum+=a[i][j];
            if (sum<0)
                s=s-sum;
            else
                s=s+sum;
        }
        if (s>smax)
            smax=s;
    }
    cout << smax << '\n';
}