Cod sursa(job #1263438)

Utilizator dan.ghitaDan Ghita dan.ghita Data 14 noiembrie 2014 19:24:57
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme 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;
}