Cod sursa(job #2198782)

Utilizator SquidwardMitrea Andrei Squidward Data 25 aprilie 2018 14:08:54
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 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, s;

void bk (int k)
{
    int c, x;
    if (k == m)
    {
        for (c = 0, i = 1; i < n; i++)
        {
            for (x = 0, j = 1; j < m; j++)
            {
                x = x + flip[i][j]*q[j];
                if (x > 0)
                    c = c + x;
                else
                    c = c - x;
            }
        }
        if (c > s)
            s = c;
    }
    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(0);
    g<<s;
    for (i = 1; i <= n; i++)
        for (j = 1; j <= m; j++)
            cout<<flip[i][j]<<" ";
    f.close();
    g.close();
}