Cod sursa(job #2770395)

Utilizator rares89_Dumitriu Rares rares89_ Data 20 august 2021 18:46:09
Problema Jocul Flip Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#include <fstream>

using namespace std;

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

int n, m, v[20][20], x[40], maxim;

void suma() {
    int sum = 0;
    for(int j = 1; j <= m; j++) {
        int s = 0;
        for(int i = 1; i <= n; i++) {
            if( (x[i] == 1 && x[j + n] == 1) || (x[i] == 0 && x[j + n] == 0) ) {
                s += v[i][j];
            } else {
                s += -1 * v[i][j];
            }
        }
        if(s < 0) {
            s = -s;
        }
        sum += s;
    }
    if(sum > maxim) {
        maxim = sum;
    }
}

void back(int k) {
    for(int i = 0; i <= 1; i++) {
        x[k] = i;
        if(k > n) {
            suma();
        } else {
            back(k + 1);
        }
    }
}

int main() {
    fin >> n >> m;
    for(int i = 1; i <= n; i++) {
        for(int j = 1; j <= m; j++) {
            fin >> v[i][j];
        }
    }
    fin.close();
    back(1);
    fout << maxim;
    fout.close();
    return 0;
}