Cod sursa(job #1319389)

Utilizator dan.ghitaDan Ghita dan.ghita Data 16 ianuarie 2015 22:10:29
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul II Marime 0.96 kb
#include <iostream>
#include <fstream>
using namespace std;
 
int matrix[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] += -matrix[i][j];
            else
                sum[i] += matrix[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(matrix);
    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>>matrix[i][j];
    back(0);
 
    g<<mx;
 
    return 0;
}