Cod sursa(job #141268)

Utilizator Spike7d8Cristian Varvara Spike7d8 Data 22 februarie 2008 22:19:42
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#ifdef WIN32
#define _CRT_SECURE_NO_WARNINGS
#endif

#include <stdio.h>


int n, m, v[16][16];


int abs(int x)
{
	if (x >= 0)
		return x;
	return -x;
}


void inverseaza(int l)
{
	for (int i = 0; i < m; i++)
		v[l][i] = -v[l][i];
}


int suma(int c)
{
	int s = 0;
	for (int i = 0; i < n; i++)
		s += v[i][c];
	return s;
}


int main()
{
	freopen("flip.in", "rt", stdin);
	freopen("flip.out", "wt", stdout);

	scanf("%d%d", &n, &m);
	for (int i = 0; i < n; i++)
		for (int j = 0; j < m; j++)
			scanf("%d", &v[i][j]);

	int s = -1, t;
	for (int i = 0; i < (1 << n); i++)
	{
		for (int j = 0; j < n; j++)
			if (i & (1 << j))
				inverseaza(j);

		t = 0;
		for (int j = 0; j < m; j++)
			t += abs(suma(j));

		if (s < t)
			s = t;

		for (int j = 0; j < n; j++)
			if (i & (1 << j))
				inverseaza(j);
	}

	printf("%d\n", s);

	return 0;
}