Cod sursa(job #1246249)

Utilizator dragos_musanMusan Dragos dragos_musan Data 20 octombrie 2014 20:13:22
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include<fstream>

using namespace std;

int v[17][17];
int aux[17][17];
int ln[17];
int s, smax, n, m;

ofstream g("flip.out");

void suma()
{
    int i,j,col;
    for(i=1;i<=n;i++)
        if(ln[i] == -1)
            for(j=1;j<=m;j++)
                aux[i][j] = -v[i][j];
        else
            for(j=1;j<=m;j++)
                aux[i][j] = v[i][j];
    s=0;
    for(j=1;j<=m;j++)
    {
        col = 0;
        for(i=1;i<=n;i++)
            col+=aux[i][j];
        if(col < 0) s-=col;
        else s+=col;
    }
    if(s>smax)  smax = s;

}

void bkt(int p)
{
    if(p==n+1)
        suma();
    else
    {
        ln[p] = 1;
        bkt(p+1);
        ln[p] = -1;
        bkt(p+1);
    }
}

int main()
{
    ifstream f("flip.in");


    int i,j;

    f>>n>>m;

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

    bkt(1);

    g<<smax;

    return 0;
}