Cod sursa(job #1105600)

Utilizator L.DanielLungu Daniel L.Daniel Data 11 februarie 2014 21:45:01
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
using namespace std;
ifstream cin("flip.in");
ofstream cout("flip.out");
int n, m, x, p, a[20][20], v[50], b;
void calcul(int k)
{
	int l = 0, i, j;
	for (i = 1; i <= k; i++)
	if (v[i] <= n) for (j = 1; j <= m; j++) l = l - a[v[i]][j];
	else for (j = 1; j <= n; j++)l = l - a[j][v[i] - n];
	if (x < b + 2 * l)x = b + 2 * l;
}
void BK(int k)
{
	for (int i = v[k - 1] + 1; i <= n + m; i++)
	{
		v[k] = i;
		if (k == p)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];
		b = b + a[i][j];
	}
	x = b;
	for (p = 1; p <= n + m; p++)
		BK(1);
	cout << x;
	return 0;
}