Cod sursa(job #1400586)

Utilizator crysstyanIacob Paul Cristian crysstyan Data 25 martie 2015 12:46:17
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>
#include <algorithm>
#define NMAX 17

using namespace std;

ifstream f("flip.in");
ofstream g("flip.out");
int mat[NMAX][NMAX], i, j, n, m, v[NMAX], cont, answer=-2000000000, s, sl;

int semn(int x)
{
    if (x==0) return -1;
    if (x==1) return 1;
}


int main()
{
    f>>n>>m;
    cont=(1<<m);

    for (i=1; i<=n; ++i)
    for (j=1; j<=m; ++j)
    f>>mat[i][j];

    while (cont)
    {
        cont--;
        sl=0;
        s=0;
        for (j=1; j<=m; ++j)
        if (mat[0][j]==0)
        {
            mat[0][j]=1;
            break;
        }
        else
        mat[0][j]=0;

        for (i=1; i<=n; ++i)
        {
            sl=0;
        for (j=1; j<=m; ++j)
        sl+=mat[i][j]*semn(mat[0][j]);

        if (sl<0) sl*=(-1);
        s+=sl;
        }

        answer=max(answer,s);
    }
    g<<answer<<'\n';
    return 0;
}