Cod sursa(job #2329489)

Utilizator draducanuDragos Raducanu draducanu Data 26 ianuarie 2019 20:16:39
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
//
// Created by dragos on 26.01.2019.
//

#include <iostream>
#include <fstream>

using namespace std;

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

int mat[17][17], semn[17], n, m;

int flip(int k) {
    if(k == m) {
        int sum = 0;
        for (int i = 0; i < n; i++) {
            int rsum = 0;
            for (int j = 0; j < m; j++) {
                rsum += mat[i][j] * semn[j];
            }
            sum += abs(rsum);
        }
        return sum;
    } else {
        semn[k] = 1;
        int val1 = flip(k + 1);
        semn[k] = -1;
        int val2 = flip(k + 1);

        return val1 > val2 ? val1 : val2;
    }
}

int main() {

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

    fout<<flip(0);

    return 0;
}