Cod sursa(job #845801)

Utilizator arrayAnghel Mihai array Data 31 decembrie 2012 15:53:36
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>
#include <cstdio>
#define MAX 20
using namespace std;


ifstream fin("flip.in");
ofstream fout("flip.out");
int N, M, res;
int v[MAX];
int A[MAX][MAX];

void read()
{
	fin >> N >> M;
	for (int i = 1; i <= N; ++i)
	{
		for (int j = 1; j <= M; ++j)
		{
			fin >> A[i][j];
		}
	}
	fin.close();
}

void solve()
{
	for (int i2 = 0; i2 < (1 << N); ++i2)
	{
		int foo = 0, ind = 0;
		for (int k = 0; k < N; ++k)
		{
			v[++ind] = ((i2 & (1 << k)) > 0 ? 1 : -1);
		}
		for (int j = 1; j <= M; ++j)
		{
			int sum = 0;
			for (int i = 1; i <= N; ++i)
			{
				sum = sum + v[i] * A[i][j];
			}
			if (sum < 0) sum = -sum;
			foo = foo + sum;
		}
		if (res < foo) res = foo;
	}
}

void write()
{
	fout << res << '\n';
	fout.close();
}

int main()
{
	read(), solve(), write();
	return 0;
}