Cod sursa(job #2594437)

Utilizator k2e0e0w3qDumitrescu Gheorghe k2e0e0w3q Data 5 aprilie 2020 23:44:25
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <bits/stdc++.h>
using namespace std;

bitset <17> mask;
int n, m, a[16][16], S;

void use () {
    int v[m], i, j;
    memset(v, 0, sizeof v);
    for (i=0; i<n; i++)
        for (j=0; j<m; j++)
            if (mask[i])
                v[j]-=a[i][j];
            else
                v[j]+=a[i][j];
    int s=0;
    for (j=0; j<m; j++)
        s+=abs(v[j]);
    S=max(s, S);
}

void backtrack (int p) {
    if (p!=n-1) {
        mask[p]=1;
        backtrack(p+1);
        mask[p]=0;
        backtrack(p+1);
    }
    else
        use();
}

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

    //istream &fin=cin;
    //ostream &fout=cout;

    fin >> n >> m;
    int i, j;
    for (i=0; i<n; i++)
        for (j=0; j<m; j++)
            fin >> a[i][j];

    backtrack(0);
    fout << S;
    return 0;
}