Cod sursa(job #1417066)

Utilizator Anonymous1010Chilivercu Cristian Anonymous1010 Data 9 aprilie 2015 15:14:13
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>

int a[16][16];
bool flip[16];
int n, m;
int max;

void back(int x)
{
	int i, j, s;
	int total = 0;

	if(x == m)
	{
		for(i = 0; i < n; i++)
		{
			s = 0;
			for(j = 0; j < m; j++)
				s += flip[j] ? -a[i][j] : a[i][j];
			if(s < 0)
				s = -s;
			total += s;
		}
		if(total > max)
			max = total;
	}
	else
	{
		back(x + 1);
		flip[x] = true;
		back(x + 1);
		flip[x] = false;
	}
}

int main(void)
{
	int i, j;

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

	scanf("%d%d", &n, &m);

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

	back(0);

	printf("%d", max);

	return 0;
}