Cod sursa(job #480478)

Utilizator dcm9000Dinu Cristian Mircea - UPB dcm9000 Data 28 august 2010 01:45:59
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <algorithm>
#include <fstream>
#include <string>

using namespace std;

#define FILE_IN "flip.in"
#define FILE_OUT "flip.out"

int main()
{
    ifstream fisIn(FILE_IN);
    ofstream fisOut(FILE_OUT);

	int mat[16][16];
    int N,M;
    fisIn >> N >> M;

    for (int i=0; i<N; i++)
		for (int j=0; j<M; j++)
			fisIn >> mat[i][j];

	int max = mat[0][0];

	for (int pat=(1<<(M-1))-1; pat >= 0; pat--)
	{
		int lin[16];
		for (int j=0; j<M; j++)
			lin[j] = (pat >> j) & 1 ? 1 : -1;
		
		int total = 0;
		for (int i=0; i<N; i++)
		{
			int sum = 0;
			for (int j=0; j<M; j++)
				sum += mat[i][j]*lin[j];

			total += (sum > 0) ? sum : -sum;
		}

		if (total > max) max = total;
	}

    fisOut << max;
}