Cod sursa(job #1818146)

Utilizator osiaccrCristian Osiac osiaccr Data 28 noiembrie 2016 21:00:15
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <fstream>
#define DEF 100000
#define NEG -1

using namespace std;

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

int n, m, v[100][100], Sol;
bool freq[100];

void backTrack (int k){
    if (k <= n){
        for (int i = 0; i <= 1; i++){
            freq[k] = i;
            backTrack (k + 1);
        }
    }
    else{
        int sum = 0, currSum = 0;
        for (int j = 1; j <= m; j++){
            currSum = 0;
            for (int i = 1; i <= n; i++){
                if (freq[i]){
                    currSum += v[i][j];
                }
                else{
                    currSum += v[i][j] * NEG;
                }
            }
            if (currSum < 0){
                currSum *= NEG;
            }
            sum += currSum;
        }
        Sol = max (Sol, sum);
    }
}

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

    backTrack(1);

    fout << Sol;

    return 0;
}