Cod sursa(job #2195979)

Utilizator georgiuadrianadrian georgiuadrian Data 17 aprilie 2018 22:30:40
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>

using namespace std;
int a[20][20],m,n,smax;
int v[20];

void backtrack (int k)
{
    if (k > n)
    {
        ///suma
        int s,suma=0;
        for (int j = 1; j<=m; j++)
        {
            s=0;
            for (int i=1; i<=n; i++)
                s += a[i][j] * v[i];
            if (s < 0)
                s*=-1;///daca pe acea coloana mai bine pun -1 pt
                      ///o suma mai buna
            suma +=s;
        }
        if (suma > smax)
            smax = suma;
    }
    else
    {
        v[k] = 1;
        backtrack (k+1);
        v[k] = -1;
        backtrack (k+1);
    }
}
int main()
{
    ifstream f("flip.in");
    ofstream g("flip.out");
    int i,j;
    f >> n >> m;
    for (i=1; i<=n; i++)
        for (j=1; j<=m; j++)
            f>>a[i][j];
    backtrack (1);
    g << smax;
    return 0;
}