Cod sursa(job #1105788)

Utilizator L.DanielLungu Daniel L.Daniel Data 12 februarie 2014 08:59:09
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
using namespace std;
ifstream cin("flip.in");
ofstream cout("flip.out");
int n, m, x,a[20][20], v[50], b;
void comutare()
{
	int i, j;
	for (i = 1; i <= n;i++)
	if (v[i]==1)
	for (j = 1; j <= m; j++)a[i][j] = -a[i][j];
	for (i = n + 1; i <= n + m;i++)
	if (v[i]==1)
	for (j = 1; j <= n; j++)a[j][i - n] = -a[j][i - n];
}
void calcul(int k)
{
	int l = 0, i, j;
	comutare();
	for (i = 1; i <= n; i++)
	for (j = 1; j <= m; j++)
		l = l + a[i][j];
	comutare();
	if (l > x)x = l;

}
void BK(int k)
{
	for (int i =0; i <=1; i++)
	{
		v[k] = i;
		if (k == m+n)calcul(k);
		else BK(k + 1);
	}
}
int main()
{
	int i, j;
	cin >> n >> m;
	for (i = 1; i <= n;i++)
	for (j = 1; j <= m; j++)
		cin >> a[i][j];
		BK(1);
	cout << x;
	return 0;
}