Cod sursa(job #1014586)

Utilizator brainwashed20Alexandru Gherghe brainwashed20 Data 22 octombrie 2013 21:48:20
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include<fstream>
#include<algorithm>

using namespace std;

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

#define dim 17

int mat[dim][dim], st[dim], n, m, maxsum, sol = -1<<30;

void back(int k) {

    if(k == m) {
        int i, j, s, rez = 0;
        for (i=1; i<=n; ++i) {
            s = 0;
            for (j=1; j<=m; ++j)
                s += st[j-1] * mat[i][j];
            if(s < 0)
                s = -s;
            rez += s;
        }
        sol = max(rez, sol);
    }
    else {
        st[k] = 1;
        back(k+1);

        st[k] = -1;
        back(k+1);
    }

}
int main() {

    int i, j;

    f >> n >> m;

    for (i=1; i<=n; ++i)
        for (j=1; j<=m; ++j) {
            f >> mat[i][j];
            maxsum += mat[i][j];
        }

    back(0);

    g << sol;

    f.close();
    g.close();

    return 0;
}