Cod sursa(job #1885085)

Utilizator dsergiu05Sergiu Druga dsergiu05 Data 19 februarie 2017 16:42:31
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>

using namespace std;

ifstream fin("flip.in");
ofstream fout("flip.out");

const int nmax=16, mmax=16;
int v[nmax+1][mmax+1], u[nmax+1];

int n, m, sol;

void bt(int x) {
    if (x==n+1) {
        int aux=0;
        for (int j=1; j<=m; j++) {
            int s=0;
            for (int i=1; i<=n; i++) {
                s+=v[i][j]*u[i];
            }
            if (s<0) {
                aux-=s;
            } else {
                aux+=s;
            }
        }
        if (aux>sol) {
            sol=aux;
        }
    } else {
        u[x]=1;
        bt(x+1);
        u[x]=-1;
        bt(x+1);
    }
}

int main () {
    fin>>n>>m;

    for (int i=1; i<=n; i++) {
        for (int j=1; j<=m; j++) {
            fin>>v[i][j];
        }
    }

    bt(1);

    fout<<sol<<"\n";

    return 0;
}