Cod sursa(job #900144)

Utilizator skyper96skyper skyper96 Data 28 februarie 2013 17:53:07
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 kb
#include <fstream>

using namespace std;

int vi[17], s[17], vii[17][17];

int main()
{
    ifstream in ("flip.in");
    ofstream out ("flip.out");
    int n, m, i, j, p, aux, smax=0,saux, k, scol;
    int a[17][17];
    in>>n>>m;
    for (i=1; i<=n; i++)
        for (j=1; j<=m; j++)
        {
            in>>a[i][j];
            smax+=a[i][j];
        }
    for (i=0;i<(1<<n);i++)
    {
        aux=i;
        p=-1;
        do{
            s[++p]=aux%2;
            aux/=2;
        }while(aux);
        for (p=p+1; p<n; p++)
            s[p]=0;
        for (j=1; j<=n; j++)
            for (k=1; k<=m; k++)
                vii[j][k]=a[j][k];
        for (j=0; j<n; j++)
            for (k=1; k<=m; k++)
                if (s[j]==0)
                    vii[j+1][k]*=-1;
        saux=0;
        for (k=1; k<=m; k++)
        {
            scol=0;
            for (j=0; j<n; j++)
                scol+=vii[j+1][k];
            if (scol<0)
                scol*=-1;
            saux+=scol;
        }
        if (saux>smax)
            smax=saux;
    }
    out<<smax;
    return 0;
}