Cod sursa(job #2278937)

Utilizator VadimCCurca Vadim VadimC Data 8 noiembrie 2018 18:37:41
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <fstream>

using namespace std;

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

#define NMax 17

int n, m;
int a[NMax][NMax];
int smax;

void citire();
void gen(int);
void rez();

int main(){
	citire();
	gen(0);
	fout << smax;
}

void citire(){
	int i, j;
	fin >> n >> m;
	for(i = 0; i < n; i++)
		for(j = 0; j < m; j++)
			fin >> a[i][j];
}

void gen(int k){
	int i;
	if(k == n)
		rez();
	else{
		gen(k + 1);
		for(i = 0; i < m; i++) a[k][i] *= -1;
		gen(k + 1);
		for(i = 0; i < m; i++) a[k][i] *= -1;
	}
}

void rez(){
	int s = 0, spoz, sneg;
	int i, j;
	for(j = 0; j < m; j++){
		spoz = sneg = 0;
		for(i = 0; i < n; i++)
			if(a[i][j] >= 0) spoz += a[i][j];
			else sneg += a[i][j] * (-1);
		s += max(spoz, sneg) - min(spoz, sneg);
	}
	if(s > smax) smax = s;
}