Cod sursa(job #218360)

Utilizator SliMMStefan Saftescu SliMM Data 1 noiembrie 2008 18:20:40
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
/*
 * flip.cpp
 *
 *  Created on: Oct 31, 2008
 *      Author: stefan
 */
#include<iostream>
#include<stdio.h>
using namespace std;

int main()
{
	register short int n, m, i, j;
	register long int flag;
	long int v[16][16];
	long long int suma_max = -2000000000, suma, suma_linie;

	freopen("flip.in", "r", stdin);
	freopen("flip.out", "w", stdout);

	cin >> n >> m;

	for (i = 0; i < n; ++i)
		for (j = 0; j < m; ++j)
			cin >> v[i][j];

	for (flag = (1 << m) - 1; flag > 0; --flag)
	{
		suma = 0;
		for (i = 0; i < n; ++i)
		{
			suma_linie = 0;
			for (j = 0; j < m; ++j)
			{
				if(flag & (1 << j))
					suma_linie -= v[i][j];
				else
					suma_linie += v[i][j];
			}
			if (suma_linie < 0)
				suma_linie *= -1;
			suma += suma_linie;
		}
		if (suma > suma_max)
			suma_max = suma;
	}
	cout << suma_max;

	return 0;
}