Cod sursa(job #2198785)

Utilizator SquidwardMitrea Andrei Squidward Data 25 aprilie 2018 14:32:06
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>
#include <fstream>
#include <cmath>

using namespace std;

ifstream f("flip.in");
ofstream g("flip.out");

int flip[17][17], q[17], i, j, n, m, smax;

void bk (int k)
{
    int s, ss;
    if (k > n)
    {
        ss = 0;
        for (j = 1; j <= m; j++)
        {
            s = 0;
            for (i = 1; i <= n; i++)
                s = s + flip[i][j]*q[i];
            if (s < 0)
                s = s * (-1);
            ss = ss + s;
        }
        if (ss > smax)
            smax = ss;
    }
    else
    {
        q[k] = 1;
        bk(k + 1);
        q[k] = -1;
        bk (k + 1);
    }
}
int main()
{
    f>>n>>m;
    for (i = 1; i <= n; i++)
        for (j = 1; j <= m; j++)
            f>>flip[i][j];
    bk(1);
    g<<smax;
    f.close();
    g.close();
}