Cod sursa(job #1444691)

Utilizator amigosAndrei Ipati amigos Data 30 mai 2015 09:09:06
Problema Jocul Flip Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <fstream>

using namespace std;

#define MAX_N 16
int sumMax;

void generateComb(int mat[MAX_N][MAX_N], int m, int n)
{
	
	int sumMat;
	sumMax = 0;
	for (int comb = 0; comb < (1 << m); comb++)
	{

		sumMat = 0;
		for (int c = 0; c < n; c++)
		{
			int sum = 0;
			for (int r = 0; r < m; r++)
			{
				mat[r][c] = (((1 << r) & comb) != 0) ? -mat[r][c] : mat[r][c];
				sum += mat[r][c];
			}

			sumMat += abs(sum);
		}

		if (sumMax < sumMat) sumMax = sumMat;
	}

}

int main()
{
	ifstream in("flip.in", ios::in);
	ofstream out("flip.out", ios::out);

	int m, n;
	int mat[MAX_N][MAX_N];
	in >> m >> n;
	for (int i = 0; i < m; i++)
	{
		for (int j = 0; j < n; j++)
		{
			in >> mat[i][j];
		}
	}
	
	sumMax = 0;

	generateComb(mat, m, n);
	
	out << sumMax;
	return 0;
}