Cod sursa(job #912201)

Utilizator robertstrecheStreche Robert robertstreche Data 12 martie 2013 10:17:38
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
#include <iostream>
using namespace std;
int v[17][17], m, n, sl[17], x[17], MAX = -16000001, s;
void Check ()
{
    s = 0;
    for (int i = 0; i < m; ++i)
        sl[i] = 0;
    for (int i = 0; i < m; ++i)
        for (int j = 0; j < n; ++j)
            sl[i] += x[j] * v[i][j];
    for (int i = 0; i < m; ++i)
        s += sl[i] >= 0 ? sl[i] : -sl[i];
    MAX = MAX > s ? MAX : s;
}

void Back (int k)
{
    for (int i = 0; i < 2; ++i)
    {
        x[k] = -1 + i * 2;
        if (k == n - 1)
            Check ();
        else
            Back (k + 1);
    }
}

int main ()
{
    ifstream fin ("flip.in");
    fin >> m >> n;
    for (int i = 0; i < m; ++i)
        for (int j = 0; j < n; ++j)
            fin >> v[i][j];
    fin.close ();
    Back (0);
    ofstream fout ("flip.out");
    fout << MAX;
    fout.close();
    return 0;
}