Cod sursa(job #1267418)

Utilizator flaviaaamVoicu Flavia flaviaaam Data 19 noiembrie 2014 21:07:45
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <iostream>
#include <fstream>
using namespace std;

int a[16][16],n,m, config[16], mx = 0;

ifstream f("flip.in");
ofstream g("flip.out");

void configureMatrix(int auxMatr[][16]){

    int sum[16], total = 0;
    for(int i = 0; i < n; ++i)
        sum[i] = 0;

    for(int i = 0; i < n; ++i)
       for(int j = 0; j < m; ++j)
            if(config[j])
                sum[i] += -a[i][j];
            else
                sum[i] += a[i][j];

    for(int i = 0; i < n; ++i)
        if(sum[i] < 0)
            total -= sum[i];
        else
            total += sum[i];

    mx = max(mx, total);
}


void back(int indx){
    if(indx == m)
        configureMatrix(a);
    else
        for(config[indx] = 0; config[indx] <= 1; ++config[indx])
            back(indx + 1);
}

int main() {

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

    g<<mx;

    return 0;
}