Cod sursa(job #2470924)

Utilizator mirceatlxhaha haha mirceatlx Data 9 octombrie 2019 21:10:30
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>
#include <fstream>
#include <cmath>
#define NMAX 20
#define INF 16 * 16 * 1000000 * (-1)
using namespace std;

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

int N, M;
int mapp[NMAX][NMAX], maxSum = INF;

void Solve()
{
	int sum = 0, summ = 0;
	for(int i = 0 ; i < N ; i++)
	{
		sum = 0;
		for(int j = 0 ; j < M ; j++)
			sum += mapp[i][j];
		summ += abs(sum);
	}
		
	maxSum = max(maxSum,summ);
}

void ChangeMatrix(int j)
{
	for(int i = 0 ; i < N; i++)
		mapp[i][j] *= (-1);
}

void BKT(int k)
{
	if(k == M)
	{
		Solve();
		return;
	}
	BKT(k + 1);
	ChangeMatrix(k);
	BKT(k + 1);
	ChangeMatrix(k);
}

int main()
{
	fin >> N >> M;
	for(int i = 0 ; i < N; i++)
		for(int j = 0 ; j < M ; j++)
			fin >> mapp[i][j];
	BKT(0);
	fout << maxSum << "\n";
	return 0;
}