Cod sursa(job #1947835)

Utilizator codrutciulacuciulacu codrut cristian codrutciulacu Data 31 martie 2017 14:03:43
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <bits/stdc++.h>
using namespace std;

int n, m, a[20][20], v[20], ans;

ifstream i("flip.in");
ofstream o("flip.out");

void calculate();
void backtracking(int k);

void calculate(){
    int sumtot = 0;
    for(int i = 0; i <= m; i++){
        int sum = 0;
        for(int j = 0; j <= n; j++) sum += a[i][j]*v[i];

        sumtot += max(sum, sum*-1);
    }
    if(sumtot > ans) ans = sumtot;
}

void backtracking(int k){
    if(k == n+1)
        calculate();
    else{
        v[k] = 1;
        backtracking(k+1);
        v[k] = -1;
        backtracking(k+1);
    }
}

int main(){
    i>>n>>m;
    for(int i = 1; i <= n; i++) for(int j = 1; j <= m; j++) i>>a[i][j];
    backtracking(1);
    o<<ans;
    i.close(); o.close();
    return 0;
}