Cod sursa(job #1694552)

Utilizator Vele_GeorgeVele George Vele_George Data 25 aprilie 2016 16:31:46
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>
#define nmax 50
#define inf (1<<30)
using namespace std;

short v[nmax];
int a[17][17], mx = -inf, n, m;

void verif()
{
    int sum = 0;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=m; j++)
            sum += (a[i][j] * v[i] * v[n + j]);

    if (sum > mx) mx = sum;
    return;
}

void back(int poz)
{

    if (poz == n+m)
    {
        v[poz] = 1;
        verif();
        v[poz] = -1;
        verif();
        return;
    }

    v[poz] = 1;
    back(poz + 1);
    v[poz] = -1;
    back(poz + 1);

    return;
}

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

    f >> n >> m;

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

   back(1);
    g << mx;

    f.close();
    g.close();
    return 0;
}