Cod sursa(job #955035)

Utilizator Impaler_009Mihai Nitu Impaler_009 Data 30 mai 2013 18:32:05
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");

int a[17][17],v[17],column[17],i,j,m,n,best;

void check ()
{
    for (j=1; j<=m; j++) column[j]=0;
    for (int i=1; i<=n; i++)
    {
        if (v[i]) for (j=1;j<=m;j++) column[j] += -a[i][j];
        else for (j=1;j<=m;j++) column[j] += a[i][j];
    }
    int s=0;
    for (j=1;j<=m;j++)
    {
        if (column[j]<0) s+=-column[j];
        else s+=column[j];
    }
    if (s>best) best=s;
}

void back (int i)
{
    for (; i<=n ;i++)
    {
        v[i]=1;
        check ();
        back (i+1);
        v[i]=0;
    }
}

int main()
{
    fin>>n>>m;
    for (i=1;i<=n;i++)
        for (j=1;j<=m;j++) fin>>a[i][j];
    check ();
    back (1);
    fout<<best;
    return 0;
}